Skip to content

Instantly share code, notes, and snippets.

@nomaddo
Created March 28, 2018 13:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nomaddo/220b867143eff68f2c0f83f9188ab382 to your computer and use it in GitHub Desktop.
Save nomaddo/220b867143eff68f2c0f83f9188ab382 to your computer and use it in GitHub Desktop.
The output of backproweights.cl
// Module with 1 kernels, global data with 0 words (64-bit each), starting at offset 1 words and 0 words of stack-frame
// Kernel 'backprop_floats' with 2305 instructions, offset 2, with following parameters: float learningRateMultiplier (4 B, 1 items), int batchSize (4 B, 1 items), __global const float* gradOutput (4 B, 1 items), __global const float* images (4 B, 1 items), __global out float* gradWeights (4 B, 1 items) (lSize, lids, gidX, offX)
// label: %start_of_function
or r1, unif, unif
or ra1, unif, unif
or r0, unif, unif
or r2, unif, unif
or ra14, unif, unif
or ra13, unif, unif
or ra12, unif, unif
or ra11, unif, unif
or ra10, unif, unif
// label: %tmp.0
or ra0, r0, r0; v8min r0, r1, r1
ldi r1, 255
and r3, r0, r1
or r2, r2, r2; v8min r0, ra1, ra1
and r1, r0, r1
mul24 r0, ra0, r3
add r0, r2, r0
add ra9, r0, r1
ldi r1, 65535
max r0, r1, ra9
xor.setf -, r0, r1
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + 2269 // to %tmp.1
nop.never
nop.never
nop.never
// label: %tmp.2
or r3, 0 (0), 0 (0)
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
v8adds.ifz ra0, 2.000000 (33), 2.000000 (33)
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2.000000 (33)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 2.000000 (33)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 536870912
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 536870912
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
v8muld.ifz r0, 0.500000 (47), 0.500000 (47)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 256
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ror.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 67108864
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 67108864
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 33554432
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 33554432
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 16777216
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16777216
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 8388608
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4194304
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 4194304
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 2097152
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1048576
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 524288
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 524288
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 262144
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 262144
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 131072
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 131072
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 65536
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 32768
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 32768
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 16384
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16384
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8192
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 8192
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4096
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r2, 256
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 4096
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
shl.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1024
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1024
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 512
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 512
or.ifz r2, r3, r0
or.ifzc r2, r3, r3
shl r1, r1, 1 (1)
ldi r0, 256
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
max r0, r1, r0
xor.setf -, r0, r1
ldi.ifz r0, 256
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or.ifz r3, r2, r0
or.ifzc r3, r2, r2
shl r1, r1, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 128.000000 (39)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 32.000000 (37)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8adds r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
v8adds.ifz r0, 8 (8), 8 (8)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 8 (8)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz ra0, r0, 8 (8)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 4 (4)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 4 (4)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2 (2)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz r0, r0, 2 (2)
or.ifzc r0, r3, r3
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 1 (1)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
or r0, r0, r0
or rb0, r0, r0; v8min r3, 0 (0), 0 (0)
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
v8adds.ifz ra0, 2.000000 (33), 2.000000 (33)
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2.000000 (33)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 2.000000 (33)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 536870912
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 536870912
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
v8muld.ifz r0, 0.500000 (47), 0.500000 (47)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ror.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 67108864
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r2, 256
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
ldi.ifz r1, 67108864
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 33554432
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 33554432
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 16777216
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16777216
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 8388608
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4194304
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 4194304
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 2097152
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 1048576
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 524288
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 524288
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 262144
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 262144
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 131072
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r2, 256
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 131072
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 65536
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 32768
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 32768
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 16384
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16384
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8192
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 8192
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4096
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 4096
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
shl.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1024
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1024
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 512
and.setf -, ra9, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
ldi r2, 256
max r1, r0, r2
xor.setf -, r1, r0
sub.ifz r1, r0, r2; v8min.ifzc r1, r0, r0
ldi.ifz r0, 512
or.ifz r2, r3, r0
or.ifzc r2, r3, r3
shl r1, r1, 1 (1)
ldi r0, 256
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
max r0, r1, r0
xor.setf -, r0, r1
ldi.ifz r0, 256
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or.ifz r3, r2, r0
or.ifzc r3, r2, r2
shl r1, r1, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 128.000000 (39)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 256
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 32.000000 (37)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8adds r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
v8adds.ifz r1, 8 (8), 8 (8)
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 8 (8)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz ra0, r0, 8 (8)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 4 (4)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 256
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 4 (4)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2 (2)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r2, 256
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
or r1, r3, r3
or.ifz r2, r1, 2 (2)
or.ifzc r2, r3, r3
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 1 (1)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 256
max r0, r1, r0
xor.setf -, r0, r1
or r0, r2, r2
or.ifz r0, r0, 1 (1)
or.ifzc r0, r2, r2
or r0, r0, r0
or rb1, r0, r0; v8min r3, 0 (0), 0 (0)
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
v8adds.ifz ra0, 2.000000 (33), 2.000000 (33)
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2.000000 (33)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
or r1, ra0, ra0
or.ifz r3, r1, 2.000000 (33)
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 536870912
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 536870912
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
v8muld.ifz r1, 0.500000 (47), 0.500000 (47)
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ror.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 67108864
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
ldi.ifz r1, 67108864
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 33554432
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 33554432
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 16777216
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16777216
or.ifz ra0, ra1, r0
or.ifzc ra0, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 8388608
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 4194304
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 4194304
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 2097152
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1048576
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 524288
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 524288
or.ifz ra0, ra1, r0
or.ifzc ra0, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 262144
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 262144
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 131072
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 131072
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 65536
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 32768
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 32768
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 16384
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16384
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8192
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 8192
or.ifz r2, r3, r1
or.ifzc r2, r3, r3
shl r1, r0, 1 (1)
ldi r0, 4096
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
max r0, r1, r0
xor.setf -, r0, r1
ldi.ifz r0, 4096
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or.ifz ra0, r2, r0
or.ifzc ra0, r2, r2
shl r1, r1, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
ldi r1, 4096
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r0, r0, r1; v8min.ifzc r0, r0, r0
shl.ifz r1, 8 (8), 8 (8)
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 1024
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1024
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 512
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 512
or.ifz ra0, ra1, r0
or.ifzc ra0, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 256
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 256
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra9, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ftoi.ifz r1, 128.000000 (39)
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra9, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ftoi.ifz r0, 32.000000 (37)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8adds r0, 8 (8), 8 (8)
and.setf -, ra9, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
ldi r1, 4096
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r0, r0, r1; v8min.ifzc r0, r0, r0
v8adds.ifz r1, 8 (8), 8 (8)
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 8 (8)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or r0, r3, r3
or.ifz ra0, r0, 8 (8)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 4 (4)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r1, 4096
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 4 (4)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 2 (2)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
ldi r0, 4096
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz r2, r0, 2 (2)
or.ifzc r2, r3, r3
shl r1, r1, 1 (1)
or r0, ra9, ra9
and.setf -, r0, 1 (1)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
ldi r0, 4096
max r0, r1, r0
xor.setf -, r0, r1
or r0, r2, r2
or.ifz r0, r0, 1 (1)
or.ifzc r0, r2, r2
or r0, r0, r0
clz r0, 1 (1); v8min ra6, r0, r0
asr ra2, rb1, r0
or ra0, 0 (0), 0 (0)
xor r0, rb1, ra2
sub ra1, r0, ra2
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
v8adds.ifz r3, 2.000000 (33), 2.000000 (33)
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 2.000000 (33)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz ra0, r0, 2.000000 (33)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 536870912
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 536870912
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
v8muld.ifz r0, 0.500000 (47), 0.500000 (47)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ror.ifz r0, 8 (8), 8 (8)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 67108864
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 67108864
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 33554432
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 33554432
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 16777216
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 16777216
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 8388608
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 4194304
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 4194304
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 2097152
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r2, 8 (8), 8 (8)
max r1, r0, r2
xor.setf -, r1, r0
sub.ifz r1, r0, r2; v8min.ifzc r1, r0, r0
ldi.ifz r0, 1048576
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 524288
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 524288
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 262144
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 262144
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 131072
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 131072
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 65536
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 32768
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 32768
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 16384
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 16384
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 8192
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 8192
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 4096
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 4096
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r2, 8 (8), 8 (8)
max r1, r0, r2
xor.setf -, r1, r0
sub.ifz r1, r0, r2; v8min.ifzc r1, r0, r0
shl.ifz r0, 8 (8), 8 (8)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 1024
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1024
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 512
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
ldi.ifz r1, 512
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 256
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r0, r2, r0; v8min.ifzc r0, r2, r2
ldi.ifz r1, 256
or.ifz ra3, r3, r1
or.ifzc ra3, r3, r3
shl r1, r0, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ftoi.ifz r1, 128.000000 (39)
or.ifz ra0, ra3, r1
or.ifzc ra0, ra3, ra3
shl r1, r0, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
ftoi.ifz r1, 32.000000 (37)
or.ifz r2, r3, r1
or.ifzc r2, r3, r3
shl r1, r0, 1 (1)
v8adds r0, 8 (8), 8 (8)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
max r0, r1, r0
xor.setf -, r0, r1
v8adds.ifz r0, 8 (8), 8 (8)
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or.ifz r3, r2, r0
or.ifzc r3, r2, r2
shl r1, r1, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 8 (8)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or r0, r3, r3
or.ifz ra0, r0, 8 (8)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 4 (4)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
or r1, ra0, ra0
or.ifz r3, r1, 4 (4)
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 2 (2)
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r1, r0, r1; v8min.ifzc r1, r0, r0
or r0, r3, r3
or.ifz r0, r0, 2 (2)
or.ifzc r0, r3, r3
shl r1, r1, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 1 (1)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
or r0, r0, r0
xor r0, r0, ra2
sub ra8, r0, ra2
or r0, ra13, ra13
max r0, 0 (0), r0
xor.setf -, r0, 0 (0)
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
or.setf -, r0, r0
or.ifz r1, 0 (0), 0 (0)
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + 4 // to %.preheader.lr.ph
nop.never
nop.never
nop.never
brr.ifanyz (pc+4) + 730 // to %._crit_edge
nop.never
nop.never
nop.never
// label: %.preheader.lr.ph
clz r0, 1 (1)
asr ra0, rb0, r0
or r3, 0 (0), 0 (0)
xor r0, rb0, ra0
sub ra2, r0, ra0
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r0, r2, r0; v8min.ifzc r0, r2, r2
v8adds.ifz ra1, 2.000000 (33), 2.000000 (33)
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
or r0, ra2, ra2
and.setf -, r0, 2.000000 (33)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, ra1, ra1
or.ifz r3, r0, 2.000000 (33)
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 536870912
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
ldi.ifz r1, 536870912
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
v8muld.ifz r0, 0.500000 (47), 0.500000 (47)
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ror.ifz r1, 8 (8), 8 (8)
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 67108864
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 67108864
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 33554432
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 33554432
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 16777216
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 16777216
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra2, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r2, 8 (8), 8 (8)
max r1, r0, r2
xor.setf -, r1, r0
sub.ifz r1, r0, r2; v8min.ifzc r1, r0, r0
ldi.ifz r0, 8388608
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4194304
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 4194304
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 2097152
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1048576
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 524288
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 524288
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 262144
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
ldi.ifz r1, 262144
or.ifz r3, ra1, r1
or.ifzc r3, ra1, ra1
shl r1, r0, 1 (1)
ldi r0, 131072
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 131072
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
ldi.ifz r0, 65536
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ldi r0, 32768
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 32768
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 16384
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
ldi.ifz r1, 16384
or.ifz r3, ra1, r1
or.ifzc r3, ra1, ra1
shl r1, r0, 1 (1)
ldi r0, 8192
and.setf -, ra2, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r0, r0, r1; v8min.ifzc r0, r0, r0
ldi.ifz r1, 8192
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 4096
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 4096
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
shl.ifz r1, 8 (8), 8 (8)
or.ifz ra1, r3, r1
or.ifzc ra1, r3, r3
shl r1, r0, 1 (1)
ldi r0, 1024
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 1024
or.ifz r3, ra1, r1
or.ifzc r3, ra1, ra1
shl r1, r0, 1 (1)
ldi r0, 512
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
ldi.ifz r0, 512
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
ldi r0, 256
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 256
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 128.000000 (39)
or.ifz ra1, r3, r0
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra2, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra1, r0
or.ifzc r3, ra1, ra1
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ftoi.ifz r0, 32.000000 (37)
or.ifz r2, r3, r0
or.ifzc r2, r3, r3
shl r1, r1, 1 (1)
v8adds r0, 8 (8), 8 (8)
and.setf -, ra2, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
max r0, r1, r0
xor.setf -, r0, r1
v8adds.ifz r0, 8 (8), 8 (8)
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
or.ifz r3, r2, r0
or.ifzc r3, r2, r2
shl r1, r1, 1 (1)
or r0, ra2, ra2
and.setf -, r0, 8 (8)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz ra1, r0, 8 (8)
or.ifzc ra1, r3, r3
shl r1, r1, 1 (1)
or r0, ra2, ra2
and.setf -, r0, 4 (4)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
or r1, ra1, ra1
or.ifz r3, r1, 4 (4)
or.ifzc r3, ra1, ra1
shl r1, r0, 1 (1)
or r0, ra2, ra2
and.setf -, r0, 2 (2)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
or r1, r3, r3
or.ifz r0, r1, 2 (2)
or.ifzc r0, r3, r3
shl r1, r0, 1 (1)
or r0, ra2, ra2
and.setf -, r0, 1 (1)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r0, r2, r0; v8min.ifzc r0, r2, r2
or r0, r0, r0
xor r0, r0, ra0
sub ra3, r0, ra0
clz r0, 1 (1)
asr ra2, rb0, r0
or r3, 0 (0), 0 (0)
xor r0, rb0, ra2
sub ra1, r0, ra2
or r1, 1 (1), 1 (1)
v8adds r0, 2.000000 (33), 2.000000 (33)
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r0, r0, r1; v8min.ifzc r0, r0, r0
v8adds.ifz ra0, 2.000000 (33), 2.000000 (33)
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 2.000000 (33)
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r2, 8 (8), 8 (8)
max r1, r0, r2
xor.setf -, r1, r0
sub.ifz r1, r0, r2; v8min.ifzc r1, r0, r0
or r0, ra0, ra0
or.ifz r3, r0, 2.000000 (33)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 536870912
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 536870912
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
v8muld r0, 0.500000 (47), 0.500000 (47)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
v8muld.ifz r0, 0.500000 (47), 0.500000 (47)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ror r0, 8 (8), 8 (8)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ror.ifz r0, 8 (8), 8 (8)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 67108864
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 67108864
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 33554432
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
ldi.ifz r0, 33554432
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 16777216
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 16777216
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8388608
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r1, r1, r2; v8min.ifzc r1, r1, r1
ldi.ifz r0, 8388608
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 4194304
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 4194304
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 2097152
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 2097152
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 1048576
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r1, r0, r1; v8min.ifzc r1, r0, r0
ldi.ifz r0, 1048576
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 524288
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r1, r0, r1; v8min.ifzc r1, r0, r0
ldi.ifz r0, 524288
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 262144
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 262144
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 131072
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 131072
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 65536
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 65536
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
ldi r0, 32768
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 32768
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 16384
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
ldi.ifz r0, 16384
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 8192
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r2, 8 (8), 8 (8)
max r0, r1, r2
xor.setf -, r0, r1
sub.ifz r0, r1, r2; v8min.ifzc r0, r1, r1
ldi.ifz r1, 8192
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 4096
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
ldi.ifz r1, 4096
or.ifz r3, ra0, r1
or.ifzc r3, ra0, ra0
shl r1, r0, 1 (1)
shl r0, 8 (8), 8 (8)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r0, r2, r1; v8min.ifzc r0, r2, r2
shl.ifz r1, 8 (8), 8 (8)
or.ifz ra0, r3, r1
or.ifzc ra0, r3, r3
shl r1, r0, 1 (1)
ldi r0, 1024
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 1024
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ldi r0, 512
and.setf -, ra1, r0
or.ifzc r0, r1, 1 (1); v8min.ifz r0, r1, r1
v8adds r1, 8 (8), 8 (8)
max r2, r0, r1
xor.setf -, r2, r0
sub.ifz r1, r0, r1; v8min.ifzc r1, r0, r0
ldi.ifz r0, 512
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
ldi r0, 256
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ldi.ifz r0, 256
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 128.000000 (39)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 128.000000 (39)
or.ifz ra0, r3, r0
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
shl r0, 4 (4), 4 (4)
and.setf -, ra1, r0
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r1, r1, r0; v8min.ifzc r1, r1, r1
shl.ifz r0, 4 (4), 4 (4)
or.ifz r3, ra0, r0
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
ftoi r0, 32.000000 (37)
and.setf -, ra1, r0
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
ftoi.ifz r0, 32.000000 (37)
or.ifz r2, r3, r0
or.ifzc r2, r3, r3
shl r0, r1, 1 (1)
v8adds r1, 8 (8), 8 (8)
and.setf -, ra1, r1
or.ifzc r0, r0, 1 (1); v8min.ifz r0, r0, r0
max r1, r0, r1
xor.setf -, r1, r0
v8adds.ifz r1, 8 (8), 8 (8)
sub.ifz r0, r0, r1; v8min.ifzc r0, r0, r0
or.ifz r3, r2, r1
or.ifzc r3, r2, r2
shl r1, r0, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 8 (8)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r1, 8 (8), 8 (8)
max r0, r2, r1
xor.setf -, r0, r2
sub.ifz r1, r2, r1; v8min.ifzc r1, r2, r2
or r0, r3, r3
or.ifz ra0, r0, 8 (8)
or.ifzc ra0, r3, r3
shl r1, r1, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 4 (4)
or.ifzc r2, r1, 1 (1); v8min.ifz r2, r1, r1
v8adds r0, 8 (8), 8 (8)
max r1, r2, r0
xor.setf -, r1, r2
sub.ifz r1, r2, r0; v8min.ifzc r1, r2, r2
or r0, ra0, ra0
or.ifz r3, r0, 4 (4)
or.ifzc r3, ra0, ra0
shl r1, r1, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 2 (2)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r2, r1, r0
xor.setf -, r2, r1
sub.ifz r0, r1, r0; v8min.ifzc r0, r1, r1
or r1, r3, r3
or.ifz r2, r1, 2 (2)
or.ifzc r2, r3, r3
shl r1, r0, 1 (1)
or r0, ra1, ra1
and.setf -, r0, 1 (1)
or.ifzc r1, r1, 1 (1); v8min.ifz r1, r1, r1
v8adds r0, 8 (8), 8 (8)
max r0, r1, r0
xor.setf -, r0, r1
or r0, r2, r2
or.ifz r0, r0, 1 (1)
or.ifzc r0, r2, r2
or r0, r0, r0
or r1, ra2, ra2
xor r0, r0, r1
sub r0, r0, r1
add rb2, r0, -8 (24)
or r0, ra3, ra3
add ra1, r0, -8 (24)
or r3, 0 (0), 0 (0); v8min ra5, 0 (0), 0 (0)
nop.never
// label: %.preheader
or r0, ra5, ra5
shl r1, r0, 4 (4)
add r0, r1, ra6
shl rb3, r0, 5 (5)
add r0, r1, ra8
shl rb1, r0, 5 (5)
or r1, r3, r3; v8min ra4, 0 (0), 0 (0)
brr (pc+4) + 32 // to %tmp.4
nop.never
nop.never
nop.never
// label: %._crit_edge.loopexit
or r1, r2, r2
// label: %._crit_edge
or r0, ra9, ra9
shl r0, r0, 2 (2)
or -, mutex_acq, mutex_acq
ldi vpw_setup, vpm_setup(size: 16 words, stride: 1 rows, address: h32(0))
fmul vpm, r1, ra14
ldi vpw_setup, vdw_setup(rows: 1, elements: 1 words, address: h32(0))
ldi vpw_setup, vdw_setup(stride: 0)
add vpw_addr, ra10, r0
or -, vpw_wait, vpw_wait
or mutex_rel, 1 (1), 1 (1)
brr (pc+4) + 104 // to %tmp.1
nop.never
nop.never
nop.never
// label: %tmp.3
or r0, ra5, ra5
add r1, r0, 1 (1)
nop.never
max r0, r1, ra13
xor.setf -, r0, r1
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
or.setf -, r0, r0
or.ifzc r3, r2, r2; v8min.ifzc ra5, r1, r1
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + -39 // to %.preheader
nop.never
nop.never
nop.never
brr.ifanyz (pc+4) + -32 // to %._crit_edge.loopexit
nop.never
nop.never
nop.never
// label: %tmp.4
add ra3, rb2, ra4
ftoi r0, 32.000000 (37)
max r0, ra3, r0
xor.setf -, r0, ra3
or.ifzc r2, 1 (1), 1 (1)
xor.ifz r2, 1 (1), 1 (1)
add r0, ra4, rb3
shl ra0, r0, 5 (5)
add r0, ra3, rb1
shl r3, r0, 5 (5)
or.setf -, r2, r2
or.ifz r2, r1, r1
or.setf -, elem_num, r2
brr.ifallzc (pc+4) + 4 // to %.split.us.preheader
nop.never
nop.never
nop.never
brr.ifanyz (pc+4) + 49 // to %.us-lcssa.us
nop.never
nop.never
nop.never
// label: %.split.us.preheader
or ra2, r1, r1; v8min rb0, 0 (0), 0 (0)
nop.never
// label: %.split.us
add r2, ra1, rb0
ftoi ra7, 32.000000 (37)
or r0, r2, ra3
max r0, -1 (31), r0
xor.setf -, r0, -1 (31)
xor.ifz r1, 1 (1), 1 (1); v8min.ifzc r1, 1 (1), 1 (1)
max r0, r2, ra7
xor.setf -, r0, r2
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
and r0, r0, r1
or.setf -, r0, r0
or.ifz r2, ra2, ra2
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + 4 // to %tmp.8
nop.never
nop.never
nop.never
brr.ifanyz (pc+4) + 12 // to %tmp.5
nop.never
nop.never
nop.never
// label: %tmp.8
add r0, rb0, ra0
shl r0, r0, 2 (2)
add tmu0s, ra12, r0
nop.load_tmu0.never
or r1, r4, r4
add r0, r2, r3
shl r0, r0, 2 (2)
add tmu0s, ra11, r0
nop.load_tmu0.never
fmul r0, r1, r4
fadd r0, ra2, r0
or r2, r0, r0
// label: %tmp.5
or r0, rb0, rb0
add r1, r0, 1 (1)
ftoi r0, 32.000000 (37)
max r0, r1, r0
xor.setf -, r0, r1
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
or.setf -, r0, r0
or.ifzc ra2, r2, r2; v8min.ifzc rb0, r1, r1
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + -46 // to %.split.us
nop.never
nop.never
nop.never
// label: %.us-lcssa.us.loopexit
or r2, r2, r2
// label: %.us-lcssa.us
or r0, ra4, ra4
add r1, r0, 1 (1)
ftoi r0, 32.000000 (37)
max r0, r1, r0
xor.setf -, r0, r1
xor.ifz r0, 1 (1), 1 (1); v8min.ifzc r0, 1 (1), 1 (1)
or.setf -, r0, r0
or.ifzc r1, r2, r2; v8min.ifzc ra4, r1, r1
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + -83 // to %tmp.4
nop.never
nop.never
nop.never
brr.ifanyz (pc+4) + -104 // to %tmp.3
nop.never
nop.never
nop.never
// label: %tmp.1, label: %end_of_function
or r0, unif, unif
or.setf -, elem_num, r0
brr.ifallzc (pc+4) + -2301 // to %start_of_function
nop.never
nop.never
nop.never
not irq, qpu_num
nop.thrend.never
nop.never
nop.never
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment