Data.Colour.SRGB:transferFunction from colour-2.3.3

Time bar (total: 1.1s)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample259.0ms (22.9%)

Samples
217.0ms8 255×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Mul: 3.0ms (35.8% of total, 0.0 MiB)
Add: 3.0ms (35.8% of total, 0.0 MiB)
Sub: 2.0ms (23.9% of total, 0.0 MiB)
adjust: 0.0ms (0.0% of total, 0.0 MiB)
Bogosity

preprocess22.0ms (2.0%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01847
17144
217642
387742
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Compiler

Compiled 2 to 12 computations (-500.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (0.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065247
Stop Event
iter-limit
Counts
6 → 20
Calls
Call 1
Inputs
%2 = (+.f64 x #s(literal 1 binary64))
%4 = (*.f64 %2 y)
x
#s(literal 1 binary64)
%2
y
%4
(-.f64 %4 x)
Outputs
%5 = (+ x 1)
%8 = (+.f64 #s(literal 1 binary64) x)
%11 = (* %5 y)
%13 = (*.f64 x y)
%16 = (- %11 x)
%18 = (*.f64 x (-.f64 y #s(literal 1 binary64)))
%26 = (/.f64 y x)
%27 = (+.f64 y %26)
%36 = (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %26))
%49 = (*.f64 y %8)
%55 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 #s(literal 1 binary64))
(approx %5 %8)
(approx %11 y)
(approx %11 (+.f64 y %13))
(approx %16 (+.f64 y %18))
(approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(approx %11 %13)
(approx %11 (*.f64 x %27))
(approx %16 %18)
(approx %16 (*.f64 x (-.f64 %27 #s(literal 1 binary64))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x %36)))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) %36))))
(approx %11 %49)
(approx %16 (*.f64 #s(literal -1 binary64) x))
(approx %16 (-.f64 %49 x))
(approx %16 (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 x (*.f64 #s(literal -1 binary64) %55)))))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %8 %55))))
Calls

6 calls:

TimeVariablePoint
2.0ms
y
inf
1.0ms
x
-inf
1.0ms
x
inf
1.0ms
y
-inf
0.0ms
x
0

rewrite95.0ms (8.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
13018
27518
332618
4175118
0417118
0431916
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 343
Calls
Call 1
Inputs
%2 = (+.f64 x #s(literal 1 binary64))
%4 = (*.f64 %2 y)
x
#s(literal 1 binary64)
%2
y
%4
(-.f64 %4 x)
Outputs
%3 = (fma.f64 #s(literal 2 binary64) x #s(literal 2 binary64))
%5 = (/.f64 %3 #s(literal 8 binary64))
%8 = (/.f64 %3 #s(literal 4 binary64))
%12 = (+.f64 #s(literal 1 binary64) x)
%19 = (/.f64 %3 #s(literal 1/2 binary64))
%22 = (/.f64 %3 #s(literal 1 binary64))
%26 = (-.f64 x #s(literal -1/2 binary64))
%27 = (fma.f64 %26 #s(literal 2 binary64) #s(literal 1 binary64))
%31 = (fma.f64 x #s(literal -2 binary64) #s(literal -2 binary64))
%34 = (fma.f64 x #s(literal 1 binary64) #s(literal 1 binary64))
%38 = (-.f64 (*.f64 x #s(literal -2 binary64)) #s(literal 2 binary64))
%41 = (fma.f64 %3 #s(literal 2 binary64) #s(literal 0 binary64))
%44 = (neg.f64 %3)
%106 = (-.f64 #s(literal -1 binary64) x)
%124 = (neg.f64 x)
%141 = (*.f64 x #s(literal 1 binary64))
%156 = (+.f64 x x)
%157 = (/.f64 %156 #s(literal 2 binary64))
%160 = (/.f64 %26 #s(literal 1 binary64))
%162 = (/.f64 x #s(literal 1 binary64))
%166 = (+.f64 #s(literal 0 binary64) %26)
%178 = (*.f64 %12 #s(literal 1/2 binary64))
%179 = (+.f64 y y)
%181 = (*.f64 %12 #s(literal 1 binary64))
%183 = (*.f64 %12 %179)
%185 = (*.f64 #s(literal 1/2 binary64) y)
%186 = (*.f64 %12 %185)
%188 = (fma.f64 y x y)
%190 = (*.f64 #s(literal 1/2 binary64) %12)
%194 = (neg.f64 y)
%197 = (*.f64 %179 %12)
%199 = (*.f64 %185 %12)
%217 = (*.f64 y x)
%218 = (fma.f64 %217 #s(literal 2 binary64) %179)
%225 = (*.f64 x %179)
%228 = (*.f64 %179 x)
%231 = (*.f64 #s(literal -1 binary64) %179)
%236 = (*.f64 %179 #s(literal -1 binary64))
%241 = (*.f64 %194 #s(literal 2 binary64))
%246 = (*.f64 #s(literal -2 binary64) y)
%251 = (*.f64 y #s(literal -2 binary64))
%256 = (*.f64 #s(literal 2 binary64) %194)
%261 = (neg.f64 %179)
%266 = (*.f64 %124 %179)
%269 = (*.f64 y %3)
%276 = (*.f64 %3 y)
%281 = (*.f64 %179 %3)
%284 = (*.f64 %3 %179)
%296 = (*.f64 %106 y)
%298 = (*.f64 %12 #s(literal 0 binary64))
%300 = (*.f64 #s(literal 0 binary64) %12)
%310 = (*.f64 x #s(literal 1/2 binary64))
%312 = (*.f64 x %185)
%317 = (*.f64 #s(literal 1/2 binary64) %185)
%318 = (fma.f64 #s(literal 1/2 binary64) y %217)
%320 = (*.f64 %194 x)
%321 = (-.f64 %185 %320)
%323 = (*.f64 y %26)
%325 = (*.f64 %26 y)
%339 = (*.f64 #s(literal 1/2 binary64) x)
%374 = (*.f64 %185 #s(literal 1/2 binary64))
%379 = (*.f64 %185 x)
%417 = (*.f64 %194 %124)
%419 = (*.f64 %124 %194)
%436 = (-.f64 y x)
%437 = (fma.f64 y x %436)
%440 = (fma.f64 %124 #s(literal 2 binary64) %179)
%449 = (-.f64 %217 x)
%450 = (fma.f64 %449 #s(literal 2 binary64) %179)
%455 = (-.f64 %156 %179)
%474 = (fma.f64 #s(literal 1/2 binary64) y %449)
x
#s(literal 1 binary64)
(*.f64 %5 #s(literal 4 binary64))
(*.f64 %8 #s(literal 2 binary64))
(*.f64 %3 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %12)
(pow.f64 %12 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) x #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %19) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %22) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %27) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %31) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %34) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %38) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %41) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %3) #s(literal 2 binary64))
(/.f64 (+.f64 %41 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %31 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %38 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %27 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %34 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %19 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %41 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %31 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %38 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %22 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %27 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %34 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %3 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (neg.f64 %19) #s(literal -4 binary64))
(/.f64 (neg.f64 %22) #s(literal -2 binary64))
(/.f64 (neg.f64 %27) #s(literal -2 binary64))
(/.f64 (neg.f64 %31) #s(literal 2 binary64))
(/.f64 (neg.f64 %34) #s(literal -1 binary64))
(/.f64 (neg.f64 %38) #s(literal 2 binary64))
(/.f64 (neg.f64 %41) #s(literal -4 binary64))
(/.f64 (neg.f64 %44) #s(literal 2 binary64))
(/.f64 %19 #s(literal 4 binary64))
(/.f64 %22 #s(literal 2 binary64))
(/.f64 %27 #s(literal 2 binary64))
(/.f64 %31 #s(literal -2 binary64))
(/.f64 %34 #s(literal 1 binary64))
(/.f64 %38 #s(literal -2 binary64))
(/.f64 %41 #s(literal 4 binary64))
(/.f64 %44 #s(literal -2 binary64))
(/.f64 %3 #s(literal 2 binary64))
(/.f64 %106 #s(literal -1 binary64))
(/.f64 %12 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %3))
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
(neg.f64 %106)
(fma.f64 %5 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %8 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %3 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %26 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %12 #s(literal 0 binary64))
(-.f64 (+.f64 %12 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %26 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) %124))
(-.f64 #s(literal 1/2 binary64) (neg.f64 %26))
(-.f64 %12 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) x))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) %124))
(-.f64 #s(literal 1 binary64) (-.f64 %124 #s(literal 0 binary64)))
(-.f64 #s(literal 1 binary64) %124)
(-.f64 x #s(literal -1 binary64))
(+.f64 (/.f64 (*.f64 %26 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 %141 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 %3 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(+.f64 (/.f64 %157 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %160 #s(literal 1/2 binary64))
(+.f64 %162 #s(literal 1 binary64))
(+.f64 %157 #s(literal 1 binary64))
(+.f64 %26 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 %166 #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) %160)
(+.f64 #s(literal 1/2 binary64) %166)
(+.f64 #s(literal 1/2 binary64) %26)
(+.f64 #s(literal 0 binary64) %12)
(+.f64 %12 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %162)
(+.f64 #s(literal 1 binary64) %157)
%12
(+.f64 x #s(literal 1 binary64))
y
(*.f64 %178 %179)
(*.f64 %181 y)
(*.f64 %183 #s(literal 1/2 binary64))
(*.f64 %186 #s(literal 2 binary64))
(*.f64 %188 #s(literal 1 binary64))
(*.f64 %179 %190)
(*.f64 %185 %3)
(*.f64 %3 %185)
(*.f64 %194 %106)
(*.f64 %106 %194)
(*.f64 #s(literal 1/2 binary64) %197)
(*.f64 #s(literal 2 binary64) %199)
(*.f64 y %12)
(*.f64 %12 y)
(*.f64 #s(literal 1 binary64) %188)
(pow.f64 %188 #s(literal 1 binary64))
(/.f64 (fma.f64 %179 %3 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %3 %179 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 y %3 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %12 %179 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %179 %12 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %3 y #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %218 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 x %179 %179) #s(literal 2 binary64))
(/.f64 (fma.f64 %179 x %179) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) y %225) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) y %228) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %231) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %231) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %236) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %236) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %241) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %241) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %246) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %246) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %251) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %251) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %256) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %256) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %261) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %261) #s(literal 2 binary64))
(/.f64 (-.f64 %179 %266) #s(literal 2 binary64))
(/.f64 (neg.f64 %269) #s(literal -2 binary64))
(/.f64 (neg.f64 %183) #s(literal -2 binary64))
(/.f64 (neg.f64 %197) #s(literal -2 binary64))
(/.f64 (neg.f64 %276) #s(literal -2 binary64))
(/.f64 (neg.f64 %218) #s(literal -2 binary64))
(/.f64 (neg.f64 %281) #s(literal -4 binary64))
(/.f64 (neg.f64 %284) #s(literal -4 binary64))
(/.f64 %269 #s(literal 2 binary64))
(/.f64 %183 #s(literal 2 binary64))
(/.f64 %197 #s(literal 2 binary64))
(/.f64 %276 #s(literal 2 binary64))
(/.f64 %218 #s(literal 2 binary64))
(/.f64 %281 #s(literal 4 binary64))
(/.f64 %284 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %188 #s(literal -1 binary64)))
(neg.f64 %296)
(fma.f64 %178 %179 %298)
(fma.f64 %178 %179 %300)
(fma.f64 %178 %179 #s(literal 0 binary64))
(fma.f64 %181 y %298)
(fma.f64 %181 y %300)
(fma.f64 %181 y #s(literal 0 binary64))
(fma.f64 %225 #s(literal 1/2 binary64) y)
(fma.f64 %183 #s(literal 1/2 binary64) %298)
(fma.f64 %183 #s(literal 1/2 binary64) %300)
(fma.f64 %183 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %310 %179 y)
(fma.f64 %312 #s(literal 2 binary64) y)
(fma.f64 %186 #s(literal 2 binary64) %298)
(fma.f64 %186 #s(literal 2 binary64) %300)
(fma.f64 %186 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %317 #s(literal 2 binary64) %318)
(fma.f64 %317 #s(literal 2 binary64) %321)
(fma.f64 %317 #s(literal 2 binary64) %323)
(fma.f64 %317 #s(literal 2 binary64) %325)
(fma.f64 %141 y y)
(fma.f64 #s(literal 1/4 binary64) %179 %318)
(fma.f64 #s(literal 1/4 binary64) %179 %321)
(fma.f64 #s(literal 1/4 binary64) %179 %323)
(fma.f64 #s(literal 1/4 binary64) %179 %325)
(fma.f64 %26 y %185)
(fma.f64 %188 #s(literal 1 binary64) %298)
(fma.f64 %188 #s(literal 1 binary64) %300)
(fma.f64 %188 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 %179 %190 %298)
(fma.f64 %179 %190 %300)
(fma.f64 %179 %190 #s(literal 0 binary64))
(fma.f64 %179 %339 y)
(fma.f64 %179 #s(literal 1/4 binary64) %318)
(fma.f64 %179 #s(literal 1/4 binary64) %321)
(fma.f64 %179 #s(literal 1/4 binary64) %323)
(fma.f64 %179 #s(literal 1/4 binary64) %325)
(fma.f64 %185 %3 %298)
(fma.f64 %185 %3 %300)
(fma.f64 %185 %3 #s(literal 0 binary64))
(fma.f64 %185 %156 y)
(fma.f64 %185 %12 %199)
(fma.f64 %185 #s(literal 1 binary64) %318)
(fma.f64 %185 #s(literal 1 binary64) %321)
(fma.f64 %185 #s(literal 1 binary64) %323)
(fma.f64 %185 #s(literal 1 binary64) %325)
(fma.f64 %3 %185 %298)
(fma.f64 %3 %185 %300)
(fma.f64 %3 %185 #s(literal 0 binary64))
(fma.f64 %156 %185 y)
(fma.f64 %217 #s(literal 1 binary64) y)
(fma.f64 %194 %106 %298)
(fma.f64 %194 %106 %300)
(fma.f64 %194 %106 #s(literal 0 binary64))
(fma.f64 %194 %124 y)
(fma.f64 %106 %194 %298)
(fma.f64 %106 %194 %300)
(fma.f64 %106 %194 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %228 y)
(fma.f64 #s(literal 1/2 binary64) %197 %298)
(fma.f64 #s(literal 1/2 binary64) %197 %300)
(fma.f64 #s(literal 1/2 binary64) %197 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) y %318)
(fma.f64 #s(literal 1/2 binary64) y %321)
(fma.f64 #s(literal 1/2 binary64) y %323)
(fma.f64 #s(literal 1/2 binary64) y %325)
(fma.f64 #s(literal 2 binary64) %374 %318)
(fma.f64 #s(literal 2 binary64) %374 %321)
(fma.f64 #s(literal 2 binary64) %374 %323)
(fma.f64 #s(literal 2 binary64) %374 %325)
(fma.f64 #s(literal 2 binary64) %379 y)
(fma.f64 #s(literal 2 binary64) %199 %298)
(fma.f64 #s(literal 2 binary64) %199 %300)
(fma.f64 #s(literal 2 binary64) %199 #s(literal 0 binary64))
(fma.f64 %124 %194 y)
(fma.f64 y %26 %185)
(fma.f64 y #s(literal 1/2 binary64) %318)
(fma.f64 y #s(literal 1/2 binary64) %321)
(fma.f64 y #s(literal 1/2 binary64) %323)
(fma.f64 y #s(literal 1/2 binary64) %325)
(fma.f64 y %12 %298)
(fma.f64 y %12 %300)
(fma.f64 y %12 #s(literal 0 binary64))
%188
(fma.f64 %12 %185 %186)
(fma.f64 %12 y %298)
(fma.f64 %12 y %300)
(fma.f64 %12 y #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %188 %298)
(fma.f64 #s(literal 1 binary64) %188 %300)
(fma.f64 #s(literal 1 binary64) %188 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %185 %318)
(fma.f64 #s(literal 1 binary64) %185 %321)
(fma.f64 #s(literal 1 binary64) %185 %323)
(fma.f64 #s(literal 1 binary64) %185 %325)
(fma.f64 #s(literal 1 binary64) %217 y)
(fma.f64 x y y)
(-.f64 %217 %194)
(-.f64 y %320)
(+.f64 (/.f64 (*.f64 %217 #s(literal 2 binary64)) #s(literal 2 binary64)) y)
(+.f64 (fma.f64 y x %185) %185)
(+.f64 %323 %185)
(+.f64 %186 %186)
(+.f64 %325 %185)
(+.f64 %199 %199)
(+.f64 %417 y)
(+.f64 %419 y)
(+.f64 %188 %298)
(+.f64 %188 %300)
(+.f64 %188 #s(literal 0 binary64))
(+.f64 %185 %318)
(+.f64 %185 %321)
(+.f64 %185 %323)
(+.f64 %185 %325)
(+.f64 %217 y)
(+.f64 y (+.f64 #s(literal 0 binary64) %217))
(+.f64 y (-.f64 #s(literal 0 binary64) %320))
(+.f64 y %417)
(+.f64 y %419)
(+.f64 y %217)
(*.f64 #s(literal 1 binary64) %437)
(pow.f64 %437 #s(literal 1 binary64))
(/.f64 (+.f64 %440 %225) #s(literal 2 binary64))
(/.f64 (+.f64 %440 %228) #s(literal 2 binary64))
(/.f64 (fma.f64 x %179 %440) #s(literal 2 binary64))
(/.f64 (fma.f64 %179 x %440) #s(literal 2 binary64))
(/.f64 (+.f64 %450 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %440 %266) #s(literal 2 binary64))
(/.f64 (-.f64 %225 %455) #s(literal 2 binary64))
(/.f64 (-.f64 %228 %455) #s(literal 2 binary64))
(/.f64 (neg.f64 %450) #s(literal -2 binary64))
(/.f64 %450 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %437 #s(literal -1 binary64)))
(neg.f64 (fma.f64 %106 y x))
(fma.f64 %178 %179 %124)
(fma.f64 %181 y %124)
(fma.f64 %225 #s(literal 1/2 binary64) %436)
(fma.f64 %183 #s(literal 1/2 binary64) %124)
(fma.f64 %310 %179 %436)
(fma.f64 %312 #s(literal 2 binary64) %436)
(fma.f64 %186 #s(literal 2 binary64) %124)
(fma.f64 %317 #s(literal 2 binary64) %474)
(fma.f64 %141 y %436)
(fma.f64 #s(literal 1/4 binary64) %179 %474)
(fma.f64 %188 #s(literal 1 binary64) %124)
(fma.f64 %179 %190 %124)
(fma.f64 %179 %339 %436)
(fma.f64 %179 #s(literal 1/4 binary64) %474)
(fma.f64 %185 %3 %124)
(fma.f64 %185 %156 %436)
(fma.f64 %185 #s(literal 1 binary64) %474)
(fma.f64 %3 %185 %124)
(fma.f64 %156 %185 %436)
(fma.f64 %217 #s(literal 1 binary64) %436)
(fma.f64 %194 %106 %124)
(fma.f64 %106 %194 %124)
(fma.f64 #s(literal 1/2 binary64) %228 %436)
(fma.f64 #s(literal 1/2 binary64) %197 %124)
(fma.f64 #s(literal 1/2 binary64) y %474)
(fma.f64 #s(literal 2 binary64) %374 %474)
(fma.f64 #s(literal 2 binary64) %379 %436)
(fma.f64 #s(literal 2 binary64) %199 %124)
(fma.f64 y #s(literal 1/2 binary64) %474)
(fma.f64 y %12 %124)
%437
(fma.f64 %12 y %124)
(fma.f64 #s(literal 1 binary64) %436 %217)
(fma.f64 #s(literal 1 binary64) %449 y)
(fma.f64 #s(literal 1 binary64) %188 %124)
(fma.f64 #s(literal 1 binary64) %185 %474)
(fma.f64 #s(literal 1 binary64) %217 %436)
(fma.f64 #s(literal 1 binary64) %124 %188)
(fma.f64 #s(literal 1 binary64) %437 #s(literal 0 binary64))
(fma.f64 x y %436)
(-.f64 %436 %320)
(-.f64 %449 %194)
(-.f64 %188 x)
(-.f64 %217 (-.f64 %194 %124))
(-.f64 %217 (+.f64 %194 x))
(-.f64 %217 (-.f64 x y))
(-.f64 %124 %296)
(-.f64 y (-.f64 %320 %124))
(-.f64 y (fma.f64 %194 x x))
(-.f64 y (-.f64 x %217))
(+.f64 (/.f64 (*.f64 %449 #s(literal 2 binary64)) #s(literal 2 binary64)) y)
(+.f64 (+.f64 %449 %185) %185)
(+.f64 %436 %217)
(+.f64 %449 y)
(+.f64 %188 %124)
(+.f64 %185 %474)
(+.f64 %217 %436)
(+.f64 %124 %188)
(+.f64 %437 #s(literal 0 binary64))
(+.f64 y (+.f64 #s(literal 0 binary64) %449))
(+.f64 y %449)

reconstruct31.0ms (2.8%)

Counts
363 → 35
Compiler

Compiled 363 to 572 computations (-57.6% saved)

eval3.0ms (0.3%)

Compiler

Compiled 33 to 101 computations (-206.1% saved)

prune1.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New28533
Fresh000
Picked101
Done000
Total29534
Accuracy
100.0%
Counts
34 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x y (-.f64 y x))
62.2%
(-.f64 (approx (* (+ x 1) y) (*.f64 x y)) x)
74.8%
(-.f64 (approx (* (+ x 1) y) y) x)
62.2%
(approx (- (* (+ x 1) y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
38.2%
(approx (- (* (+ x 1) y) x) (*.f64 #s(literal -1 binary64) x))
Compiler

Compiled 5 to 12 computations (-140.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series9.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104398
Stop Event
iter-limit
Counts
16 → 32
Calls
Call 1
Inputs
%5 = (* (+ x 1) y)
%6 = (approx %5 y)
%7 = (*.f64 x y)
%8 = (-.f64 y #s(literal 1 binary64))
%9 = (*.f64 x %8)
%10 = (approx %5 %7)
%11 = (- %5 x)
%14 = (*.f64 #s(literal -1 binary64) x)
%16 = (-.f64 y x)
x
#s(literal 1 binary64)
y
%6
%7
%8
%9
%10
(approx %11 %9)
#s(literal -1 binary64)
%14
(approx %11 %14)
%16
(fma.f64 x y %16)
(-.f64 %6 x)
(-.f64 %10 x)
Outputs
%7 = (* (+ x 1) y)
%9 = (*.f64 x y)
%12 = (* x y)
%14 = (- y 1)
%15 = (* x %14)
%17 = (-.f64 y #s(literal 1 binary64))
%18 = (*.f64 x %17)
%20 = (- %7 x)
%26 = (*.f64 #s(literal -1 binary64) x)
%28 = (- y x)
%31 = (/.f64 y x)
%32 = (+.f64 y %31)
%41 = (*.f64 #s(literal -1 binary64) %31)
%42 = (fma.f64 #s(literal -1 binary64) y %41)
%59 = (+.f64 #s(literal 1 binary64) x)
%60 = (*.f64 y %59)
%70 = (/.f64 #s(literal 1 binary64) y)
%74 = (/.f64 x y)
%75 = (*.f64 #s(literal -1 binary64) %74)
%76 = (+.f64 x %75)
%89 = (fma.f64 #s(literal -1 binary64) x %74)
%101 = (+ %12 %28)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 y)
(approx %7 (+.f64 y %9))
(approx %12 %9)
(approx %15 %18)
(approx %20 (+.f64 y %18))
(approx (* -1 x) %26)
(approx %28 (+.f64 y %26))
(approx %7 (*.f64 x %32))
(approx %20 (*.f64 x (-.f64 %32 #s(literal 1 binary64))))
(approx %28 (*.f64 x (-.f64 %31 #s(literal 1 binary64))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x %42)))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) %42))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) %41))))
(approx %7 %60)
(approx %14 #s(literal -1 binary64))
(approx %14 %17)
(approx %15 (fma.f64 #s(literal -1 binary64) x %9))
(approx %20 (-.f64 %60 x))
(approx %28 (-.f64 y x))
(approx %14 (*.f64 y (-.f64 #s(literal 1 binary64) %70)))
(approx %15 (*.f64 y %76))
(approx %20 (*.f64 y (+.f64 #s(literal 1 binary64) %76)))
(approx %28 (*.f64 y (+.f64 #s(literal 1 binary64) %75)))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %70 #s(literal 1 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y %89)))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %59 %74))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %74 #s(literal 1 binary64)))))
(approx %101 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %26 #s(literal 1 binary64)))))
(approx %101 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %89 #s(literal 1 binary64)))))
Calls

6 calls:

TimeVariablePoint
15.0ms
x
inf
2.0ms
y
inf
1.0ms
y
-inf
1.0ms
y
0
1.0ms
x
0

rewrite123.0ms (10.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01987
02885
18383
218383
364483
4353483
0409083
0436879
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
16 → 640
Calls
Call 1
Inputs
%5 = (* (+ x 1) y)
%6 = (approx %5 y)
%7 = (*.f64 x y)
%8 = (-.f64 y #s(literal 1 binary64))
%9 = (*.f64 x %8)
%10 = (approx %5 %7)
%11 = (- %5 x)
%14 = (*.f64 #s(literal -1 binary64) x)
%16 = (-.f64 y x)
x
#s(literal 1 binary64)
y
%6
%7
%8
%9
%10
(approx %11 %9)
#s(literal -1 binary64)
%14
(approx %11 %14)
%16
(fma.f64 x y %16)
(-.f64 %6 x)
(-.f64 %10 x)
Outputs
%5 = (* (- x -1) y)
%6 = (approx %5 y)
%12 = (neg.f64 %6)
%15 = (*.f64 #s(literal -2 binary64) x)
%16 = (*.f64 y %15)
%19 = (+.f64 y y)
%20 = (*.f64 x %19)
%23 = (+.f64 x x)
%24 = (*.f64 y %23)
%26 = (*.f64 #s(literal 1/2 binary64) y)
%27 = (*.f64 x %26)
%30 = (*.f64 x #s(literal 1/2 binary64))
%31 = (*.f64 y %30)
%33 = (*.f64 #s(literal -1/2 binary64) y)
%39 = (neg.f64 y)
%40 = (neg.f64 x)
%42 = (*.f64 x y)
%43 = (*.f64 %39 x)
%45 = (*.f64 %23 y)
%47 = (*.f64 %19 x)
%49 = (*.f64 %26 x)
%51 = (*.f64 %30 y)
%103 = (fma.f64 #s(literal 2 binary64) y #s(literal -2 binary64))
%105 = (/.f64 %103 #s(literal 8 binary64))
%107 = (/.f64 %103 #s(literal 4 binary64))
%110 = (+.f64 #s(literal -2 binary64) %19)
%113 = (+.f64 #s(literal -1/2 binary64) %26)
%115 = (fma.f64 #s(literal 1/2 binary64) y #s(literal -1/2 binary64))
%117 = (-.f64 %26 #s(literal 1/2 binary64))
%119 = (-.f64 y #s(literal 1 binary64))
%128 = (-.f64 y #s(literal 1/2 binary64))
%132 = (*.f64 %119 #s(literal 2 binary64))
%139 = (*.f64 %19 #s(literal 2 binary64))
%142 = (*.f64 %19 #s(literal -2 binary64))
%171 = (-.f64 #s(literal 1 binary64) y)
%175 = (*.f64 #s(literal 1/2 binary64) %26)
%176 = (fma.f64 #s(literal 1/2 binary64) y #s(literal -1 binary64))
%178 = (-.f64 %26 #s(literal 1 binary64))
%194 = (*.f64 %26 #s(literal 1/2 binary64))
%226 = (*.f64 %171 %15)
%228 = (*.f64 %171 #s(literal -2 binary64))
%230 = (*.f64 %171 #s(literal 2 binary64))
%231 = (*.f64 #s(literal -1/2 binary64) x)
%233 = (*.f64 %171 #s(literal -1 binary64))
%235 = (*.f64 %171 #s(literal 1 binary64))
%237 = (*.f64 %119 %15)
%239 = (*.f64 %119 #s(literal 1/2 binary64))
%241 = (*.f64 %119 #s(literal -1 binary64))
%243 = (*.f64 %119 #s(literal 1 binary64))
%245 = (*.f64 %171 %23)
%247 = (*.f64 %119 %23)
%249 = (*.f64 %119 %30)
%252 = (*.f64 #s(literal -1/2 binary64) %119)
%254 = (*.f64 #s(literal 1/2 binary64) %171)
%256 = (*.f64 #s(literal 1/2 binary64) %119)
%258 = (*.f64 #s(literal -1/2 binary64) %171)
%261 = (*.f64 x %171)
%263 = (*.f64 %30 %171)
%265 = (*.f64 #s(literal -1 binary64) %171)
%267 = (*.f64 x %119)
%268 = (*.f64 %23 %119)
%270 = (*.f64 %231 %171)
%272 = (*.f64 %30 %119)
%274 = (*.f64 #s(literal -1 binary64) %119)
%299 = (*.f64 %119 #s(literal 0 binary64))
%301 = (*.f64 #s(literal 0 binary64) %119)
%328 = (*.f64 #s(literal -1/2 binary64) %30)
%329 = (-.f64 #s(literal 1/2 binary64) y)
%330 = (*.f64 %40 %329)
%332 = (*.f64 %329 %40)
%387 = (*.f64 #s(literal 4 binary64) %231)
%441 = (approx %5 %42)
%446 = (neg.f64 %441)
%448 = (- %5 x)
%449 = (approx %448 %267)
%477 = (*.f64 #s(literal 2 binary64) %23)
%486 = (*.f64 #s(literal 0 binary64) %15)
%525 = (approx %448 %40)
%530 = (fma.f64 #s(literal -2 binary64) x %19)
%532 = (fma.f64 #s(literal 2 binary64) y %15)
%534 = (-.f64 %19 %23)
%536 = (fma.f64 #s(literal -1/2 binary64) x %26)
%538 = (fma.f64 #s(literal 1/2 binary64) y %231)
%540 = (-.f64 %26 %30)
%542 = (-.f64 y x)
%551 = (-.f64 x y)
%553 = (fma.f64 #s(literal 1/2 binary64) y %40)
%555 = (-.f64 %26 x)
%604 = (fma.f64 x %119 y)
%609 = (fma.f64 x y y)
%615 = (-.f64 #s(literal -1 binary64) x)
%627 = (-.f64 x #s(literal -1 binary64))
%642 = (fma.f64 #s(literal 1/2 binary64) y %267)
%644 = (-.f64 %26 %261)
%659 = (fma.f64 x #s(literal 2 binary64) #s(literal 2 binary64))
%757 = (-.f64 %6 x)
%787 = (-.f64 %441 x)
x
#s(literal 1 binary64)
y
(*.f64 #s(literal 1 binary64) %6)
(pow.f64 %6 #s(literal 1 binary64))
%6
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64)))
(neg.f64 %12)
(*.f64 %16 #s(literal -1/2 binary64))
(*.f64 %20 #s(literal 1/2 binary64))
(*.f64 %24 #s(literal 1/2 binary64))
(*.f64 %27 #s(literal 2 binary64))
(*.f64 %31 #s(literal 2 binary64))
(*.f64 %15 %33)
(*.f64 %23 %26)
(*.f64 %26 %23)
(*.f64 %30 %19)
(*.f64 %19 %30)
(*.f64 %39 %40)
%42
(*.f64 %43 #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) %45)
(*.f64 #s(literal 1/2 binary64) %47)
(*.f64 #s(literal 2 binary64) %49)
(*.f64 #s(literal 2 binary64) %51)
(*.f64 %40 %39)
(*.f64 #s(literal -1 binary64) %43)
(*.f64 %42 #s(literal 1 binary64))
(*.f64 y x)
(*.f64 #s(literal 1 binary64) %42)
(pow.f64 %42 #s(literal 1 binary64))
(/.f64 %20 #s(literal 2 binary64))
(/.f64 %24 #s(literal 2 binary64))
(/.f64 %45 #s(literal 2 binary64))
(/.f64 %47 #s(literal 2 binary64))
(/.f64 (*.f64 %23 %19) #s(literal 4 binary64))
(/.f64 (*.f64 %19 %23) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %42 #s(literal -1 binary64)))
(neg.f64 %43)
(fma.f64 %16 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %20 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %24 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %27 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %31 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %15 %33 #s(literal 0 binary64))
(fma.f64 %23 %26 #s(literal 0 binary64))
(fma.f64 %26 %23 #s(literal 0 binary64))
(fma.f64 %26 x %49)
(fma.f64 %30 %19 #s(literal 0 binary64))
(fma.f64 %30 y %51)
(fma.f64 %19 %30 #s(literal 0 binary64))
(fma.f64 %39 %40 #s(literal 0 binary64))
(fma.f64 x %26 %27)
(fma.f64 x y #s(literal 0 binary64))
(fma.f64 %43 #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %45 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %47 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %49 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %51 #s(literal 0 binary64))
(fma.f64 %40 %39 #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %43 #s(literal 0 binary64))
(fma.f64 %42 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 y %30 %31)
(fma.f64 y x #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %42 #s(literal 0 binary64))
(+.f64 %27 %27)
(+.f64 %31 %31)
(+.f64 %49 %49)
(+.f64 %51 %51)
(+.f64 %42 #s(literal 0 binary64))
(*.f64 %105 #s(literal 4 binary64))
(*.f64 %107 #s(literal 2 binary64))
(*.f64 %103 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %110)
(*.f64 #s(literal 1/2 binary64) %103)
(*.f64 #s(literal 2 binary64) %113)
(*.f64 #s(literal 2 binary64) %115)
(*.f64 #s(literal 2 binary64) %117)
(*.f64 #s(literal 1 binary64) %119)
(pow.f64 %119 #s(literal 1 binary64))
(/.f64 (/.f64 %103 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (/.f64 %103 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 y #s(literal -2 binary64) #s(literal 2 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %128 #s(literal 2 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %132 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 y #s(literal -2 binary64)) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal -4 binary64) %139) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 4 binary64) %142) #s(literal -4 binary64))
(/.f64 %110 #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal -4 binary64) (*.f64 #s(literal 2 binary64) %19)) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -2 binary64) %19)) #s(literal -4 binary64))
(/.f64 (fma.f64 %19 #s(literal 2 binary64) #s(literal -4 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %19 #s(literal -2 binary64) #s(literal 4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %103 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %142 #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 %139 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (neg.f64 %103) #s(literal -2 binary64))
(/.f64 %103 #s(literal 2 binary64))
(/.f64 %119 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %103))
(/.f64 #s(literal 1 binary64) (pow.f64 %119 #s(literal -1 binary64)))
(neg.f64 %171)
(fma.f64 %105 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %107 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %175 #s(literal 2 binary64) %176)
(fma.f64 %175 #s(literal 2 binary64) %178)
(fma.f64 #s(literal 1/4 binary64) %19 %176)
(fma.f64 #s(literal 1/4 binary64) %19 %178)
(fma.f64 %26 #s(literal 1 binary64) %176)
(fma.f64 %26 #s(literal 1 binary64) %178)
(fma.f64 %103 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal 1/4 binary64) %176)
(fma.f64 %19 #s(literal 1/4 binary64) %178)
(fma.f64 #s(literal 1/2 binary64) %110 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) (-.f64 %19 #s(literal 1 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) %103 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) y %176)
(fma.f64 #s(literal 1/2 binary64) y %178)
(fma.f64 #s(literal 2 binary64) %194 %176)
(fma.f64 #s(literal 2 binary64) %194 %178)
(fma.f64 #s(literal 2 binary64) %113 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %115 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %117 #s(literal 0 binary64))
(fma.f64 y #s(literal 1/2 binary64) %176)
(fma.f64 y #s(literal 1/2 binary64) %178)
(fma.f64 #s(literal 1 binary64) %128 #s(literal -1/2 binary64))
(fma.f64 #s(literal 1 binary64) %26 %176)
(fma.f64 #s(literal 1 binary64) %26 %178)
(fma.f64 #s(literal 1 binary64) %119 #s(literal 0 binary64))
(-.f64 %128 #s(literal 1/2 binary64))
(-.f64 #s(literal -1 binary64) %39)
(-.f64 %119 #s(literal 0 binary64))
%119
(+.f64 (+.f64 #s(literal -1 binary64) %26) %26)
(+.f64 (-.f64 %119 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %128 #s(literal -1/2 binary64))
(+.f64 %26 %176)
(+.f64 %26 %178)
(+.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) %39))
(+.f64 #s(literal -1/2 binary64) (+.f64 #s(literal -1/2 binary64) y))
(+.f64 #s(literal -1/2 binary64) %128)
(+.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) %39))
(+.f64 #s(literal -1 binary64) y)
(+.f64 %119 #s(literal 0 binary64))
(+.f64 y #s(literal -1 binary64))
(*.f64 %226 #s(literal 1/2 binary64))
(*.f64 %228 %30)
(*.f64 %230 %231)
(*.f64 %233 x)
(*.f64 %235 %40)
(*.f64 %237 #s(literal -1/2 binary64))
(*.f64 %239 %23)
(*.f64 %241 %40)
(*.f64 %243 x)
(*.f64 %245 #s(literal -1/2 binary64))
(*.f64 %247 #s(literal 1/2 binary64))
(*.f64 %249 #s(literal 2 binary64))
(*.f64 %132 %30)
(*.f64 %15 %252)
(*.f64 %15 %254)
(*.f64 %23 %256)
(*.f64 %23 %258)
(*.f64 %30 %103)
(*.f64 %261 #s(literal -1 binary64))
(*.f64 #s(literal -2 binary64) %263)
(*.f64 x %265)
%267
(*.f64 #s(literal 1/2 binary64) %268)
(*.f64 #s(literal 2 binary64) %270)
(*.f64 #s(literal 2 binary64) %272)
(*.f64 %40 %274)
(*.f64 %40 %171)
(*.f64 %171 %40)
(*.f64 #s(literal -1 binary64) %261)
(*.f64 %267 #s(literal 1 binary64))
(*.f64 %119 x)
(*.f64 #s(literal 1 binary64) %267)
(pow.f64 %267 #s(literal 1 binary64))
(/.f64 (*.f64 x %103) #s(literal 2 binary64))
(/.f64 %247 #s(literal 2 binary64))
(/.f64 %268 #s(literal 2 binary64))
(/.f64 (*.f64 %103 x) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %42 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 (*.f64 %23 %103) #s(literal 4 binary64))
(/.f64 (*.f64 %103 %23) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %267 #s(literal -1 binary64)))
(neg.f64 %261)
(fma.f64 %226 #s(literal 1/2 binary64) %299)
(fma.f64 %226 #s(literal 1/2 binary64) %301)
(fma.f64 %228 %30 %299)
(fma.f64 %228 %30 %301)
(fma.f64 %230 %231 %299)
(fma.f64 %230 %231 %301)
(fma.f64 %233 x %299)
(fma.f64 %233 x %301)
(fma.f64 %235 %40 %299)
(fma.f64 %235 %40 %301)
(fma.f64 %237 #s(literal -1/2 binary64) %299)
(fma.f64 %237 #s(literal -1/2 binary64) %301)
(fma.f64 %239 %23 %299)
(fma.f64 %239 %23 %301)
(fma.f64 %241 %40 %299)
(fma.f64 %241 %40 %301)
(fma.f64 %243 x %299)
(fma.f64 %243 x %301)
(fma.f64 %16 #s(literal -1/2 binary64) %40)
(fma.f64 %245 #s(literal -1/2 binary64) %299)
(fma.f64 %245 #s(literal -1/2 binary64) %301)
(fma.f64 %247 #s(literal 1/2 binary64) %299)
(fma.f64 %247 #s(literal 1/2 binary64) %301)
(fma.f64 %20 #s(literal 1/2 binary64) %40)
(fma.f64 %24 #s(literal 1/2 binary64) %40)
(fma.f64 %249 #s(literal 2 binary64) %299)
(fma.f64 %249 #s(literal 2 binary64) %301)
(fma.f64 %328 #s(literal 2 binary64) %330)
(fma.f64 %328 #s(literal 2 binary64) %332)
(fma.f64 %27 #s(literal 2 binary64) %40)
(fma.f64 %31 #s(literal 2 binary64) %40)
(fma.f64 %132 %30 %299)
(fma.f64 %132 %30 %301)
(fma.f64 #s(literal -1/4 binary64) %23 %330)
(fma.f64 #s(literal -1/4 binary64) %23 %332)
(fma.f64 %15 %252 %299)
(fma.f64 %15 %252 %301)
(fma.f64 %15 %254 %299)
(fma.f64 %15 %254 %301)
(fma.f64 %15 %33 %40)
(fma.f64 %15 #s(literal 1/2 binary64) %42)
(fma.f64 %231 #s(literal 2 binary64) %42)
(fma.f64 %231 #s(literal 1 binary64) %330)
(fma.f64 %231 #s(literal 1 binary64) %332)
(fma.f64 %23 %256 %299)
(fma.f64 %23 %256 %301)
(fma.f64 %23 %258 %299)
(fma.f64 %23 %258 %301)
(fma.f64 %23 %26 %40)
(fma.f64 %23 #s(literal -1/2 binary64) %42)
(fma.f64 %26 %23 %40)
(fma.f64 %30 %103 %299)
(fma.f64 %30 %103 %301)
(fma.f64 %30 %19 %40)
(fma.f64 %30 #s(literal -2 binary64) %42)
(fma.f64 %30 #s(literal -1 binary64) %330)
(fma.f64 %30 #s(literal -1 binary64) %332)
(fma.f64 %30 %119 %272)
(fma.f64 %19 %30 %40)
(fma.f64 #s(literal -1/2 binary64) %23 %42)
(fma.f64 #s(literal -1/2 binary64) x %330)
(fma.f64 #s(literal -1/2 binary64) x %332)
(fma.f64 %261 #s(literal -1 binary64) %299)
(fma.f64 %261 #s(literal -1 binary64) %301)
(fma.f64 #s(literal -2 binary64) %263 %299)
(fma.f64 #s(literal -2 binary64) %263 %301)
(fma.f64 #s(literal -2 binary64) %30 %42)
(fma.f64 %39 %40 %40)
(fma.f64 x %265 %299)
(fma.f64 x %265 %301)
(fma.f64 x #s(literal -1/2 binary64) %330)
(fma.f64 x #s(literal -1/2 binary64) %332)
(fma.f64 x #s(literal -1 binary64) %42)
(fma.f64 x %119 %299)
(fma.f64 x %119 %301)
(fma.f64 x y %40)
(fma.f64 %43 #s(literal -1 binary64) %40)
(fma.f64 #s(literal 1/2 binary64) %268 %299)
(fma.f64 #s(literal 1/2 binary64) %268 %301)
(fma.f64 #s(literal 1/2 binary64) %45 %40)
(fma.f64 #s(literal 1/2 binary64) %47 %40)
(fma.f64 #s(literal 1/2 binary64) %387 %42)
(fma.f64 #s(literal 1/2 binary64) %15 %42)
(fma.f64 #s(literal 1/2 binary64) %40 %330)
(fma.f64 #s(literal 1/2 binary64) %40 %332)
(fma.f64 #s(literal 2 binary64) %270 %299)
(fma.f64 #s(literal 2 binary64) %270 %301)
(fma.f64 #s(literal 2 binary64) %272 %299)
(fma.f64 #s(literal 2 binary64) %272 %301)
(fma.f64 #s(literal 2 binary64) %49 %40)
(fma.f64 #s(literal 2 binary64) %51 %40)
(fma.f64 #s(literal 2 binary64) %231 %42)
(fma.f64 %40 %274 %299)
(fma.f64 %40 %274 %301)
(fma.f64 %40 %39 %40)
(fma.f64 %40 #s(literal 1/2 binary64) %330)
(fma.f64 %40 #s(literal 1/2 binary64) %332)
(fma.f64 %40 %171 %299)
(fma.f64 %40 %171 %301)
(fma.f64 %40 #s(literal 1 binary64) %42)
(fma.f64 %171 %40 %299)
(fma.f64 %171 %40 %301)
(fma.f64 #s(literal -1 binary64) %30 %330)
(fma.f64 #s(literal -1 binary64) %30 %332)
(fma.f64 #s(literal -1 binary64) %261 %299)
(fma.f64 #s(literal -1 binary64) %261 %301)
(fma.f64 #s(literal -1 binary64) x %42)
(fma.f64 #s(literal -1 binary64) %43 %40)
(fma.f64 %267 #s(literal 1 binary64) %299)
(fma.f64 %267 #s(literal 1 binary64) %301)
(fma.f64 %119 %30 %249)
(fma.f64 %119 x %299)
(fma.f64 %119 x %301)
(fma.f64 %42 #s(literal 1 binary64) %40)
(fma.f64 y x %40)
(fma.f64 #s(literal 1 binary64) %231 %330)
(fma.f64 #s(literal 1 binary64) %231 %332)
(fma.f64 #s(literal 1 binary64) %40 %42)
(fma.f64 #s(literal 1 binary64) %267 %299)
(fma.f64 #s(literal 1 binary64) %267 %301)
(fma.f64 #s(literal 1 binary64) %42 %40)
(-.f64 (-.f64 %42 %30) %30)
(-.f64 %40 %43)
(-.f64 %267 #s(literal 0 binary64))
(-.f64 %42 x)
(+.f64 %249 %249)
(+.f64 %272 %272)
(+.f64 %231 %330)
(+.f64 %231 %332)
(+.f64 %40 %42)
(+.f64 %267 %299)
(+.f64 %267 %301)
(+.f64 %42 %40)
(*.f64 #s(literal 1 binary64) %441)
(pow.f64 %441 #s(literal 1 binary64))
%441
(/.f64 #s(literal 1 binary64) (pow.f64 %441 #s(literal -1 binary64)))
(neg.f64 %446)
(*.f64 #s(literal 1 binary64) %449)
(pow.f64 %449 #s(literal 1 binary64))
%449
(/.f64 #s(literal 1 binary64) (pow.f64 %449 #s(literal -1 binary64)))
#s(literal -1 binary64)
(*.f64 %15 #s(literal 1/2 binary64))
(*.f64 %231 #s(literal 2 binary64))
(*.f64 %23 #s(literal -1/2 binary64))
(*.f64 %30 #s(literal -2 binary64))
(*.f64 #s(literal -1/2 binary64) %23)
(*.f64 #s(literal -2 binary64) %30)
(*.f64 x #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) %387)
(*.f64 #s(literal 1/2 binary64) %15)
(*.f64 #s(literal 2 binary64) %231)
(*.f64 %40 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal 1 binary64) %40)
(pow.f64 %40 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) %231) #s(literal 4 binary64))
(/.f64 %387 #s(literal 2 binary64))
(/.f64 (*.f64 %23 #s(literal -2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %23 #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %23) #s(literal 4 binary64))
(/.f64 %477 #s(literal -4 binary64))
(/.f64 %15 #s(literal 2 binary64))
(/.f64 %23 #s(literal -2 binary64))
(/.f64 %40 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %40 #s(literal -1 binary64)))
%40
(fma.f64 %328 #s(literal 2 binary64) %231)
(fma.f64 #s(literal -1/4 binary64) %23 %231)
(fma.f64 %15 #s(literal 1/2 binary64) %486)
(fma.f64 %15 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %231 #s(literal 2 binary64) %486)
(fma.f64 %231 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %231 #s(literal 1 binary64) %231)
(fma.f64 %23 #s(literal -1/2 binary64) %486)
(fma.f64 %23 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %30 #s(literal -2 binary64) %486)
(fma.f64 %30 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 %30 #s(literal -1 binary64) %231)
(fma.f64 #s(literal -1/2 binary64) %23 %486)
(fma.f64 #s(literal -1/2 binary64) %23 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) x %231)
(fma.f64 #s(literal -2 binary64) %30 %486)
(fma.f64 #s(literal -2 binary64) %30 #s(literal 0 binary64))
(fma.f64 x #s(literal -1/2 binary64) %231)
(fma.f64 x #s(literal -1 binary64) %486)
(fma.f64 x #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %387 %486)
(fma.f64 #s(literal 1/2 binary64) %387 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %15 %486)
(fma.f64 #s(literal 1/2 binary64) %15 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %40 %231)
(fma.f64 #s(literal 2 binary64) %231 %486)
(fma.f64 #s(literal 2 binary64) %231 #s(literal 0 binary64))
(fma.f64 %40 #s(literal 1/2 binary64) %231)
(fma.f64 %40 #s(literal 1 binary64) %486)
(fma.f64 %40 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %30 %231)
(fma.f64 #s(literal -1 binary64) x %486)
(fma.f64 #s(literal -1 binary64) x #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %231 %231)
(fma.f64 #s(literal 1 binary64) %40 %486)
(fma.f64 #s(literal 1 binary64) %40 #s(literal 0 binary64))
(+.f64 %231 %231)
(+.f64 %40 %486)
(+.f64 %40 #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) %40)
(*.f64 #s(literal 1 binary64) %525)
(pow.f64 %525 #s(literal 1 binary64))
%525
(/.f64 #s(literal 1 binary64) (pow.f64 %525 #s(literal -1 binary64)))
(*.f64 #s(literal 1/2 binary64) %530)
(*.f64 #s(literal 1/2 binary64) %532)
(*.f64 #s(literal 1/2 binary64) %534)
(*.f64 #s(literal 2 binary64) %536)
(*.f64 #s(literal 2 binary64) %538)
(*.f64 #s(literal 2 binary64) %540)
(*.f64 #s(literal 1 binary64) %542)
(pow.f64 %542 #s(literal 1 binary64))
(/.f64 %530 #s(literal 2 binary64))
(/.f64 %534 #s(literal 2 binary64))
(/.f64 (-.f64 %139 %477) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %542 #s(literal -1 binary64)))
(neg.f64 %551)
(fma.f64 %175 #s(literal 2 binary64) %553)
(fma.f64 %175 #s(literal 2 binary64) %555)
(fma.f64 #s(literal 1/4 binary64) %19 %553)
(fma.f64 #s(literal 1/4 binary64) %19 %555)
(fma.f64 %15 #s(literal 1/2 binary64) y)
(fma.f64 %231 #s(literal 2 binary64) y)
(fma.f64 %23 #s(literal -1/2 binary64) y)
(fma.f64 %26 #s(literal 1 binary64) %553)
(fma.f64 %26 #s(literal 1 binary64) %555)
(fma.f64 %30 #s(literal -2 binary64) y)
(fma.f64 %19 #s(literal 1/4 binary64) %553)
(fma.f64 %19 #s(literal 1/4 binary64) %555)
(fma.f64 #s(literal -1/2 binary64) %23 y)
(fma.f64 #s(literal -2 binary64) %30 y)
(fma.f64 x #s(literal -1 binary64) y)
(fma.f64 #s(literal 1/2 binary64) %387 y)
(fma.f64 #s(literal 1/2 binary64) %530 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %532 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %534 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %15 y)
(fma.f64 #s(literal 1/2 binary64) y %553)
(fma.f64 #s(literal 1/2 binary64) y %555)
(fma.f64 #s(literal 2 binary64) %194 %553)
(fma.f64 #s(literal 2 binary64) %194 %555)
(fma.f64 #s(literal 2 binary64) %536 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %538 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %540 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %231 y)
(fma.f64 %40 #s(literal 1 binary64) y)
(fma.f64 #s(literal -1 binary64) x y)
(fma.f64 y #s(literal 1/2 binary64) %553)
(fma.f64 y #s(literal 1/2 binary64) %555)
(fma.f64 #s(literal 1 binary64) %26 %553)
(fma.f64 #s(literal 1 binary64) %26 %555)
(fma.f64 #s(literal 1 binary64) %40 y)
(fma.f64 #s(literal 1 binary64) %542 #s(literal 0 binary64))
(-.f64 (-.f64 y %30) %30)
(-.f64 %40 %39)
(-.f64 %542 #s(literal 0 binary64))
%542
(+.f64 (+.f64 %40 %26) %26)
(+.f64 %26 %553)
(+.f64 %26 %555)
(+.f64 %40 y)
(+.f64 %542 #s(literal 0 binary64))
(+.f64 y (-.f64 #s(literal 0 binary64) x))
(+.f64 y %40)
(*.f64 #s(literal 1 binary64) %604)
(pow.f64 %604 #s(literal 1 binary64))
(/.f64 (fma.f64 %267 #s(literal 2 binary64) %19) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %609 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %604 #s(literal -1 binary64)))
(neg.f64 (fma.f64 %615 y x))
(fma.f64 %226 #s(literal 1/2 binary64) y)
(fma.f64 %228 %30 y)
(fma.f64 %230 %231 y)
(fma.f64 %233 x y)
(fma.f64 %235 %40 y)
(fma.f64 %237 #s(literal -1/2 binary64) y)
(fma.f64 %239 %23 y)
(fma.f64 %241 %40 y)
(fma.f64 %243 x y)
(fma.f64 (*.f64 %627 #s(literal 1/2 binary64)) %19 %40)
(fma.f64 %16 #s(literal -1/2 binary64) %542)
(fma.f64 %245 #s(literal -1/2 binary64) y)
(fma.f64 %247 #s(literal 1/2 binary64) y)
(fma.f64 (*.f64 %627 %19) #s(literal 1/2 binary64) %40)
(fma.f64 %20 #s(literal 1/2 binary64) %542)
(fma.f64 %24 #s(literal 1/2 binary64) %542)
(fma.f64 %249 #s(literal 2 binary64) y)
(fma.f64 (*.f64 %627 %26) #s(literal 2 binary64) %40)
(fma.f64 %27 #s(literal 2 binary64) %542)
(fma.f64 %31 #s(literal 2 binary64) %542)
(fma.f64 %175 #s(literal 2 binary64) %642)
(fma.f64 %175 #s(literal 2 binary64) %644)
(fma.f64 %132 %30 y)
(fma.f64 #s(literal 1/4 binary64) %19 %642)
(fma.f64 #s(literal 1/4 binary64) %19 %644)
(fma.f64 %15 %252 y)
(fma.f64 %15 %254 y)
(fma.f64 %15 %33 %542)
(fma.f64 %15 #s(literal 1/2 binary64) %609)
(fma.f64 %231 #s(literal 2 binary64) %609)
(fma.f64 %23 %256 y)
(fma.f64 %23 %258 y)
(fma.f64 %23 %26 %542)
(fma.f64 %23 #s(literal -1/2 binary64) %609)
(fma.f64 %26 %23 %542)
(fma.f64 %26 %659 %40)
(fma.f64 %26 #s(literal 1 binary64) %642)
(fma.f64 %26 #s(literal 1 binary64) %644)
(fma.f64 %30 %103 y)
(fma.f64 %30 %19 %542)
(fma.f64 %30 #s(literal -2 binary64) %609)
(fma.f64 %659 %26 %40)
(fma.f64 %19 (*.f64 #s(literal 1/2 binary64) %627) %40)
(fma.f64 %19 #s(literal 1/4 binary64) %642)
(fma.f64 %19 #s(literal 1/4 binary64) %644)
(fma.f64 %19 %30 %542)
(fma.f64 #s(literal -1/2 binary64) %23 %609)
(fma.f64 %261 #s(literal -1 binary64) y)
(fma.f64 #s(literal -2 binary64) %263 y)
(fma.f64 #s(literal -2 binary64) %30 %609)
(fma.f64 %615 %39 %40)
(fma.f64 %39 %615 %40)
(fma.f64 %39 %40 %542)
(fma.f64 x %265 y)
(fma.f64 x #s(literal -1 binary64) %609)
%604
(fma.f64 x y %542)
(fma.f64 %43 #s(literal -1 binary64) %542)
(fma.f64 #s(literal 1/2 binary64) %268 y)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %19 %627) %40)
(fma.f64 #s(literal 1/2 binary64) %45 %542)
(fma.f64 #s(literal 1/2 binary64) %47 %542)
(fma.f64 #s(literal 1/2 binary64) %387 %609)
(fma.f64 #s(literal 1/2 binary64) %530 %42)
(fma.f64 #s(literal 1/2 binary64) %532 %42)
(fma.f64 #s(literal 1/2 binary64) %534 %42)
(fma.f64 #s(literal 1/2 binary64) %15 %609)
(fma.f64 #s(literal 1/2 binary64) y %642)
(fma.f64 #s(literal 1/2 binary64) y %644)
(fma.f64 #s(literal 2 binary64) %270 y)
(fma.f64 #s(literal 2 binary64) %272 y)
(fma.f64 #s(literal 2 binary64) (*.f64 %26 %627) %40)
(fma.f64 #s(literal 2 binary64) %194 %642)
(fma.f64 #s(literal 2 binary64) %194 %644)
(fma.f64 #s(literal 2 binary64) %49 %542)
(fma.f64 #s(literal 2 binary64) %51 %542)
(fma.f64 #s(literal 2 binary64) %536 %42)
(fma.f64 #s(literal 2 binary64) %538 %42)
(fma.f64 #s(literal 2 binary64) %540 %42)
(fma.f64 #s(literal 2 binary64) %231 %609)
(fma.f64 %40 %274 y)
(fma.f64 %40 %39 %542)
(fma.f64 %40 %171 y)
(fma.f64 %40 #s(literal 1 binary64) %609)
(fma.f64 %171 %40 y)
(fma.f64 #s(literal -1 binary64) %261 y)
(fma.f64 #s(literal -1 binary64) x %609)
(fma.f64 #s(literal -1 binary64) %43 %542)
(fma.f64 %267 #s(literal 1 binary64) y)
(fma.f64 %119 x y)
(fma.f64 %42 #s(literal 1 binary64) %542)
(fma.f64 %609 #s(literal 1 binary64) %40)
(fma.f64 %627 y %40)
(fma.f64 y x %542)
(fma.f64 y #s(literal 1/2 binary64) %642)
(fma.f64 y #s(literal 1/2 binary64) %644)
(fma.f64 y %627 %40)
(fma.f64 #s(literal 1 binary64) %26 %642)
(fma.f64 #s(literal 1 binary64) %26 %644)
(fma.f64 #s(literal 1 binary64) %40 %609)
(fma.f64 #s(literal 1 binary64) %542 %42)
(fma.f64 #s(literal 1 binary64) %604 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %267 y)
(fma.f64 #s(literal 1 binary64) %42 %542)
(fma.f64 #s(literal 1 binary64) %609 %40)
(-.f64 (-.f64 %609 %30) %30)
(-.f64 %40 (*.f64 %615 y))
(-.f64 %542 %43)
(-.f64 %604 #s(literal 0 binary64))
(-.f64 %267 %39)
(-.f64 %42 %551)
(-.f64 %609 x)
(-.f64 y %261)
(+.f64 (fma.f64 x %119 %26) %26)
(+.f64 %26 %642)
(+.f64 %26 %644)
(+.f64 %40 %609)
(+.f64 %542 %42)
(+.f64 %604 #s(literal 0 binary64))
(+.f64 %267 y)
(+.f64 %42 %542)
(+.f64 %609 %40)
(+.f64 y (+.f64 #s(literal 0 binary64) %267))
(+.f64 y (-.f64 #s(literal 0 binary64) %261))
(+.f64 y %267)
(*.f64 #s(literal 1 binary64) %757)
(pow.f64 %757 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %6 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %757 #s(literal -1 binary64)))
(neg.f64 (-.f64 x %6))
(fma.f64 %15 #s(literal 1/2 binary64) %6)
(fma.f64 %231 #s(literal 2 binary64) %6)
(fma.f64 %23 #s(literal -1/2 binary64) %6)
(fma.f64 %30 #s(literal -2 binary64) %6)
(fma.f64 #s(literal -1/2 binary64) %23 %6)
(fma.f64 #s(literal -2 binary64) %30 %6)
(fma.f64 x #s(literal -1 binary64) %6)
(fma.f64 #s(literal 1/2 binary64) %387 %6)
(fma.f64 #s(literal 1/2 binary64) %15 %6)
(fma.f64 #s(literal 2 binary64) %231 %6)
(fma.f64 %40 #s(literal 1 binary64) %6)
(fma.f64 #s(literal -1 binary64) x %6)
(fma.f64 #s(literal 1 binary64) %40 %6)
(fma.f64 #s(literal 1 binary64) %6 %40)
(-.f64 (-.f64 %6 %30) %30)
(-.f64 %40 %12)
(-.f64 %757 #s(literal 0 binary64))
%757
(+.f64 %40 %6)
(+.f64 %6 %40)
(*.f64 #s(literal 1 binary64) %787)
(pow.f64 %787 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %441 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %787 #s(literal -1 binary64)))
(neg.f64 (-.f64 x %441))
(fma.f64 %15 #s(literal 1/2 binary64) %441)
(fma.f64 %231 #s(literal 2 binary64) %441)
(fma.f64 %23 #s(literal -1/2 binary64) %441)
(fma.f64 %30 #s(literal -2 binary64) %441)
(fma.f64 #s(literal -1/2 binary64) %23 %441)
(fma.f64 #s(literal -2 binary64) %30 %441)
(fma.f64 x #s(literal -1 binary64) %441)
(fma.f64 #s(literal 1/2 binary64) %387 %441)
(fma.f64 #s(literal 1/2 binary64) %15 %441)
(fma.f64 #s(literal 2 binary64) %231 %441)
(fma.f64 %40 #s(literal 1 binary64) %441)
(fma.f64 #s(literal -1 binary64) x %441)
(fma.f64 #s(literal 1 binary64) %40 %441)
(fma.f64 #s(literal 1 binary64) %441 %40)
(-.f64 (-.f64 %441 %30) %30)
(-.f64 %40 %446)
(-.f64 %787 #s(literal 0 binary64))
%787
(+.f64 %40 %441)
(+.f64 %441 %40)

reconstruct52.0ms (4.6%)

Counts
672 → 66
Compiler

Compiled 672 to 864 computations (-28.6% saved)

eval6.0ms (0.5%)

Compiler

Compiled 68 to 149 computations (-119.1% saved)

prune2.0ms (0.2%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New65368
Fresh000
Picked145
Done000
Total66773
Accuracy
100.0%
Counts
73 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x y (-.f64 y x))
62.2%
(-.f64 (approx (* (+ x 1) y) (*.f64 x y)) x)
38.8%
(-.f64 (approx (* (+ x 1) y) y) (approx x #s(literal 0 binary64)))
74.8%
(-.f64 (approx (* (+ x 1) y) y) x)
38.2%
(approx (- (* (- x -1) y) x) (neg.f64 x))
62.2%
(approx (- (* (+ x 1) y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
2.6%
(approx (- (* (+ x 1) y) x) (*.f64 #s(literal -1 binary64) (approx x #s(literal 0 binary64))))
Compiler

Compiled 7 to 15 computations (-114.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series8.0ms (0.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062219
Stop Event
iter-limit
Counts
11 → 17
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%6 = (* (+ x 1) y)
%7 = (approx %6 y)
%9 = (neg.f64 x)
%15 = (*.f64 #s(literal -1 binary64) %3)
x
y
#s(literal 0 binary64)
%3
%7
#s(literal -1 binary64)
%9
(approx (- (* (- x -1) y) x) %9)
%15
(approx (- %6 x) %15)
(-.f64 %7 %3)
Outputs
%7 = (* (+ x 1) y)
%9 = (*.f64 x y)
%19 = (- (* (- x -1) y) x)
%22 = (*.f64 x (-.f64 y #s(literal 1 binary64)))
%26 = (/.f64 y x)
%27 = (+.f64 y %26)
%35 = (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %26))
%48 = (+.f64 #s(literal 1 binary64) x)
%49 = (*.f64 y %48)
%53 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 y)
(approx %7 (+.f64 y %9))
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %19 (+.f64 y %22))
(approx %7 %9)
(approx %7 (*.f64 x %27))
(approx %19 %22)
(approx %19 (*.f64 x (-.f64 %27 #s(literal 1 binary64))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x %35)))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) %35))))
(approx %7 %49)
(approx %19 (-.f64 %49 x))
(approx %19 (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 x (*.f64 #s(literal -1 binary64) %53)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %48 %53))))
Calls

6 calls:

TimeVariablePoint
1.0ms
y
inf
1.0ms
x
inf
1.0ms
y
-inf
1.0ms
x
0
0.0ms
x
-inf

rewrite116.0ms (10.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01855
02153
16453
215353
351053
4321353
0413853
0428549
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 200
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%6 = (* (+ x 1) y)
%7 = (approx %6 y)
%9 = (neg.f64 x)
%15 = (*.f64 #s(literal -1 binary64) %3)
x
y
#s(literal 0 binary64)
%3
%7
#s(literal -1 binary64)
%9
(approx (- (* (- x -1) y) x) %9)
%15
(approx (- %6 x) %15)
(-.f64 %7 %3)
Outputs
%3 = (approx x #s(literal 0 binary64))
%4 = (+.f64 %3 %3)
%6 = (/.f64 %4 #s(literal 8 binary64))
%10 = (*.f64 %3 #s(literal 1/2 binary64))
%11 = (*.f64 %10 #s(literal 1/2 binary64))
%13 = (/.f64 %3 #s(literal 1/2 binary64))
%16 = (*.f64 #s(literal -2 binary64) %3)
%19 = (*.f64 #s(literal -1/2 binary64) %3)
%24 = (/.f64 %3 #s(literal 4 binary64))
%32 = (neg.f64 %3)
%40 = (E.f64 )
%61 = (*.f64 %4 #s(literal -2 binary64))
%64 = (*.f64 %4 #s(literal 2 binary64))
%66 = (*.f64 #s(literal -2 binary64) %4)
%68 = (*.f64 #s(literal 2 binary64) %4)
%83 = (*.f64 #s(literal 1/2 binary64) %10)
%99 = (*.f64 %10 #s(literal 3/2 binary64))
%110 = (*.f64 #s(literal 3/2 binary64) %10)
%132 = (* (+ 1 x) y)
%133 = (approx %132 y)
%138 = (neg.f64 %133)
%140 = (neg.f64 x)
%145 = (- %132 x)
%146 = (approx %145 %140)
%158 = (*.f64 #s(literal 4 binary64) %19)
%161 = (*.f64 #s(literal 1 binary64) %19)
%191 = (*.f64 #s(literal 0 binary64) %16)
%231 = (approx %145 %32)
%236 = (-.f64 %133 %3)
x
y
#s(literal 0 binary64)
(*.f64 %6 #s(literal 4 binary64))
(*.f64 %11 #s(literal 4 binary64))
(*.f64 %13 #s(literal 1/2 binary64))
(*.f64 %16 #s(literal -1/2 binary64))
(*.f64 %19 #s(literal -2 binary64))
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %10 #s(literal 2 binary64))
(*.f64 #s(literal 4 binary64) %24)
(*.f64 #s(literal -1/2 binary64) %16)
(*.f64 #s(literal -2 binary64) %19)
(*.f64 %3 #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) %4)
(*.f64 #s(literal 2 binary64) %10)
(*.f64 %32 #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) %32)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
%3
(/.f64 (*.f64 %10 #s(literal 8 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %3 %40) %40)
(/.f64 (*.f64 %3 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) %10) #s(literal 4 binary64))
(/.f64 (*.f64 %40 %3) %40)
(/.f64 (*.f64 #s(literal 4 binary64) %3) #s(literal 4 binary64))
(/.f64 (/.f64 %4 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (/.f64 %4 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %4 %40) (*.f64 #s(literal 2 binary64) %40))
(/.f64 (*.f64 %40 %4) (*.f64 %40 #s(literal 2 binary64)))
(/.f64 %61 #s(literal -4 binary64))
(/.f64 %64 #s(literal 4 binary64))
(/.f64 %66 #s(literal -4 binary64))
(/.f64 %68 #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %4) #s(literal 8 binary64))
(/.f64 (*.f64 %4 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 %16 #s(literal -2 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %4))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %32)
(fma.f64 %6 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %83 #s(literal 2 binary64) %10)
(fma.f64 %11 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %13 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %4 %10)
(fma.f64 #s(literal 3/2 binary64) %10 %83)
(fma.f64 %16 #s(literal -1/4 binary64) %10)
(fma.f64 %16 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal -1 binary64) %10)
(fma.f64 %4 #s(literal 1/4 binary64) %10)
(fma.f64 %4 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %10 #s(literal 3/2 binary64) %11)
(fma.f64 %10 #s(literal 1/2 binary64) %99)
(fma.f64 %10 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %10 #s(literal 1 binary64) %10)
(fma.f64 #s(literal 4 binary64) %24 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) %16 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) %32 %10)
(fma.f64 #s(literal -2 binary64) %19 #s(literal 0 binary64))
(fma.f64 %3 #s(literal 1/2 binary64) %10)
(fma.f64 %3 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %4 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %10 %110)
(fma.f64 #s(literal 1/2 binary64) %3 %10)
(fma.f64 #s(literal 2 binary64) %11 %10)
(fma.f64 #s(literal 2 binary64) %10 #s(literal 0 binary64))
(fma.f64 %32 #s(literal -1/2 binary64) %10)
(fma.f64 %32 #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %19 %10)
(fma.f64 #s(literal -1 binary64) %32 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %10 %10)
(fma.f64 #s(literal 1 binary64) %3 #s(literal 0 binary64))
(-.f64 %10 %19)
(-.f64 %3 #s(literal 0 binary64))
(+.f64 %99 %11)
(+.f64 %110 %83)
(+.f64 %83 %110)
(+.f64 %11 %99)
(+.f64 %10 %10)
(+.f64 %3 #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) %3)
(*.f64 #s(literal 1 binary64) %133)
(pow.f64 %133 #s(literal 1 binary64))
%133
(/.f64 #s(literal 1 binary64) (pow.f64 %133 #s(literal -1 binary64)))
(neg.f64 %138)
#s(literal -1 binary64)
(*.f64 #s(literal 1 binary64) %140)
(pow.f64 %140 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %140 #s(literal -1 binary64)))
%140
(*.f64 #s(literal 1 binary64) %146)
(pow.f64 %146 #s(literal 1 binary64))
%146
(/.f64 #s(literal 1 binary64) (pow.f64 %146 #s(literal -1 binary64)))
(*.f64 %16 #s(literal 1/2 binary64))
(*.f64 %19 #s(literal 2 binary64))
(*.f64 %4 #s(literal -1/2 binary64))
(*.f64 %10 #s(literal -2 binary64))
(*.f64 #s(literal -1/2 binary64) %4)
(*.f64 #s(literal -2 binary64) %10)
(*.f64 %3 #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) %158)
(*.f64 #s(literal 1/2 binary64) %16)
(*.f64 #s(literal 2 binary64) %161)
(*.f64 #s(literal 2 binary64) %19)
(*.f64 %32 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) %3)
(*.f64 #s(literal 1 binary64) %32)
(pow.f64 %32 #s(literal 1 binary64))
(/.f64 (*.f64 %32 %40) %40)
(/.f64 (*.f64 %32 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) %19) #s(literal 4 binary64))
(/.f64 %158 #s(literal 2 binary64))
(/.f64 (*.f64 %40 %32) %40)
(/.f64 (*.f64 #s(literal 4 binary64) %32) #s(literal 4 binary64))
(/.f64 %61 #s(literal 4 binary64))
(/.f64 %64 #s(literal -4 binary64))
(/.f64 %66 #s(literal 4 binary64))
(/.f64 %68 #s(literal -4 binary64))
(/.f64 %16 #s(literal 2 binary64))
(/.f64 %4 #s(literal -2 binary64))
(/.f64 %32 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1 binary64)))
%32
(fma.f64 (*.f64 #s(literal -1/2 binary64) %10) #s(literal 2 binary64) %19)
(fma.f64 #s(literal -1/4 binary64) %4 %19)
(fma.f64 %16 #s(literal 1/2 binary64) %191)
(fma.f64 %16 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal 2 binary64) %191)
(fma.f64 %19 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal 1 binary64) %19)
(fma.f64 %4 #s(literal -1/2 binary64) %191)
(fma.f64 %4 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %10 #s(literal -2 binary64) %191)
(fma.f64 %10 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 %10 #s(literal -1 binary64) %19)
(fma.f64 #s(literal -1/2 binary64) %4 %191)
(fma.f64 #s(literal -1/2 binary64) %4 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) %3 %19)
(fma.f64 #s(literal -2 binary64) %10 %191)
(fma.f64 #s(literal -2 binary64) %10 #s(literal 0 binary64))
(fma.f64 %3 #s(literal -1/2 binary64) %19)
(fma.f64 %3 #s(literal -1 binary64) %191)
(fma.f64 %3 #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %158 %191)
(fma.f64 #s(literal 1/2 binary64) %158 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %16 %191)
(fma.f64 #s(literal 1/2 binary64) %16 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %32 %19)
(fma.f64 #s(literal 2 binary64) %161 %191)
(fma.f64 #s(literal 2 binary64) %161 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %19 %191)
(fma.f64 #s(literal 2 binary64) %19 #s(literal 0 binary64))
(fma.f64 %32 #s(literal 1/2 binary64) %19)
(fma.f64 %32 #s(literal 1 binary64) %191)
(fma.f64 %32 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %10 %19)
(fma.f64 #s(literal -1 binary64) %3 %191)
(fma.f64 #s(literal -1 binary64) %3 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %32 %191)
(fma.f64 #s(literal 1 binary64) %32 #s(literal 0 binary64))
(+.f64 %19 %19)
(+.f64 %32 %191)
(+.f64 %32 #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) %32)
(*.f64 #s(literal 1 binary64) %231)
(pow.f64 %231 #s(literal 1 binary64))
%231
(/.f64 #s(literal 1 binary64) (pow.f64 %231 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %236)
(pow.f64 %236 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %133 #s(literal 2 binary64)) %4) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %236 #s(literal -1 binary64)))
(neg.f64 (-.f64 %3 %133))
(fma.f64 %16 #s(literal 1/2 binary64) %133)
(fma.f64 %19 #s(literal 2 binary64) %133)
(fma.f64 %4 #s(literal -1/2 binary64) %133)
(fma.f64 %10 #s(literal -2 binary64) %133)
(fma.f64 #s(literal -1/2 binary64) %4 %133)
(fma.f64 #s(literal -2 binary64) %10 %133)
(fma.f64 %3 #s(literal -1 binary64) %133)
(fma.f64 #s(literal 1/2 binary64) %158 %133)
(fma.f64 #s(literal 1/2 binary64) %16 %133)
(fma.f64 #s(literal 2 binary64) %161 %133)
(fma.f64 #s(literal 2 binary64) %19 %133)
(fma.f64 %32 #s(literal 1 binary64) %133)
(fma.f64 #s(literal -1 binary64) %3 %133)
(fma.f64 #s(literal 1 binary64) %32 %133)
(fma.f64 #s(literal 1 binary64) %133 %32)
(-.f64 (-.f64 %133 %10) %10)
(-.f64 %236 #s(literal 0 binary64))
(-.f64 %32 %138)
%236
(+.f64 %32 %133)
(+.f64 %133 %32)

reconstruct17.0ms (1.5%)

Counts
217 → 26
Compiler

Compiled 217 to 292 computations (-34.6% saved)

eval2.0ms (0.2%)

Compiler

Compiled 22 to 42 computations (-90.9% saved)

prune2.0ms (0.1%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New21122
Fresh000
Picked123
Done044
Total22729
Accuracy
100.0%
Counts
29 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x y (-.f64 y x))
62.2%
(-.f64 (approx (* (+ x 1) y) (*.f64 x y)) x)
38.8%
(-.f64 (approx (* (+ x 1) y) y) (approx x #s(literal 0 binary64)))
74.8%
(-.f64 (approx (* (+ x 1) y) y) x)
2.6%
(approx (- (* (- x -1) y) x) (neg.f64 (approx x #s(literal 0 binary64))))
38.2%
(approx (- (* (- x -1) y) x) (neg.f64 x))
62.2%
(approx (- (* (+ x 1) y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
Compiler

Compiled 7 to 14 computations (-100.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series4.0ms (0.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051172
Stop Event
iter-limit
Counts
5 → 13
Calls
Call 1
Inputs
%2 = (approx x #s(literal 0 binary64))
%3 = (neg.f64 %2)
x
#s(literal 0 binary64)
%2
%3
(approx (- (* (- x -1) y) x) %3)
Outputs
%12 = (- (* (- x -1) y) x)
%16 = (*.f64 x (-.f64 y #s(literal 1 binary64)))
%20 = (/.f64 y x)
%36 = (+.f64 #s(literal 1 binary64) x)
%37 = (*.f64 y %36)
%41 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %12 y)
(approx %12 (+.f64 y %16))
(approx %12 %16)
(approx %12 (*.f64 x (-.f64 (+.f64 y %20) #s(literal 1 binary64))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %20))))))
(approx %12 (-.f64 %37 x))
(approx %12 %37)
(approx %12 (*.f64 y (+.f64 #s(literal 1 binary64) (+.f64 x (*.f64 #s(literal -1 binary64) %41)))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %36 %41))))
Calls

6 calls:

TimeVariablePoint
1.0ms
x
inf
1.0ms
x
-inf
1.0ms
y
inf
0.0ms
y
-inf
0.0ms
x
0

rewrite80.0ms (7.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
01121
13221
29021
325921
4112921
0414421
0431420
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 14
Calls
Call 1
Inputs
%2 = (approx x #s(literal 0 binary64))
%3 = (neg.f64 %2)
x
#s(literal 0 binary64)
%2
%3
(approx (- (* (- x -1) y) x) %3)
Outputs
%3 = (approx x #s(literal 0 binary64))
%9 = (neg.f64 %3)
%19 = (approx (- (* y (- x -1)) x) %9)
x
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
%3
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %9)
(pow.f64 %9 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %9 #s(literal -1 binary64)))
%9
(*.f64 #s(literal 1 binary64) %19)
(pow.f64 %19 #s(literal 1 binary64))
%19
(/.f64 #s(literal 1 binary64) (pow.f64 %19 #s(literal -1 binary64)))

reconstruct2.0ms (0.2%)

Counts
27 → 14
Compiler

Compiled 27 to 46 computations (-70.4% saved)

eval1.0ms (0.1%)

Compiler

Compiled 10 to 22 computations (-120.0% saved)

prune2.0ms (0.1%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New8210
Fresh000
Picked011
Done156
Total9817
Accuracy
100.0%
Counts
17 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x y (-.f64 y x))
62.2%
(-.f64 (approx (* (+ x 1) y) (*.f64 x y)) x)
74.8%
(-.f64 (approx (* (+ x 1) y) y) x)
63.1%
(approx (- (* (- x -1) y) x) (*.f64 y (+.f64 #s(literal 1 binary64) x)))
2.6%
(approx (- (* (- x -1) y) x) (neg.f64 (approx x #s(literal 0 binary64))))
38.2%
(approx (- (* (- x -1) y) x) (neg.f64 x))
38.8%
(approx (- (* (- x -1) y) x) y)
62.2%
(approx (- (* (+ x 1) y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
Compiler

Compiled 8 to 15 computations (-87.5% saved)

regimes21.0ms (1.8%)

Accuracy

Total 6.3b remaining (8.1%)

Threshold costs 0.3b (0.4%)

6.0b73.4%
0.3b0.0%
0.0b0.0%
0.0b0%
-0.0b100.0%

Counts
1 → 1
2 → 3
4 → 1
8 → 3
11 → 1
Calls
Call 1
Inputs
(approx (- (* (- x -1) y) x) y)
Outputs
(approx (- (* (- x -1) y) x) y)
Call 2
Inputs
%5 = (- (* (- x -1) y) x)
(approx %5 y)
(approx %5 (neg.f64 x))
Outputs
%5 = (- (* (- x -1) y) x)
%7 = (approx %5 (neg.f64 x))
%7
(approx %5 y)
%7
Call 3
Inputs
%5 = (- (* (- x -1) y) x)
(approx %5 y)
(approx %5 (neg.f64 x))
(approx %5 (neg.f64 (approx x #s(literal 0 binary64))))
(-.f64 (approx (* (+ x 1) y) y) x)
Outputs
(-.f64 (approx (* (+ x 1) y) y) x)
Call 4
Inputs
%5 = (- (* (- x -1) y) x)
%10 = (approx x #s(literal 0 binary64))
%15 = (* (+ x 1) y)
%16 = (approx %15 y)
%19 = (- %15 x)
(approx %5 y)
(approx %5 (neg.f64 x))
(approx %5 (neg.f64 %10))
(-.f64 %16 x)
(-.f64 %16 %10)
(approx %19 (*.f64 #s(literal -1 binary64) x))
(approx %19 (*.f64 #s(literal -1 binary64) %10))
(approx %19 (*.f64 x (-.f64 y #s(literal 1 binary64))))
Outputs
%4 = (* (+ x 1) y)
%9 = (approx (- %4 x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
%9
(-.f64 (approx %4 y) x)
%9
Call 5
Inputs
%5 = (- (* (- x -1) y) x)
%10 = (approx x #s(literal 0 binary64))
%15 = (* (+ x 1) y)
%16 = (approx %15 y)
%19 = (- %15 x)
(approx %5 y)
(approx %5 (neg.f64 x))
(approx %5 (neg.f64 %10))
(-.f64 %16 x)
(-.f64 %16 %10)
(approx %19 (*.f64 #s(literal -1 binary64) x))
(approx %19 (*.f64 #s(literal -1 binary64) %10))
(approx %19 (*.f64 x (-.f64 y #s(literal 1 binary64))))
(approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) x)))
(-.f64 (approx %15 (*.f64 x y)) x)
(fma.f64 x y (-.f64 y x))
Outputs
(fma.f64 x y (-.f64 y x))
Calls

3 calls:

7.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
7.0ms
x
7.0ms
y
Results
AccuracySegmentsBranch
38.8%1
y
38.8%1
x
38.8%1
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Compiler

Compiled 15 to 28 computations (-86.7% saved)

bsearch0.0ms (0.0%)

bsearch15.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
0.00013802215518052228
254817.73878361838
11.0ms
-618.7610523406546
-0.04129141623876784
Samples
5.0ms272×0valid
Compiler

Compiled 14 to 21 computations (-50.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)
Add: 0.0ms (0.0% of total, 0.0 MiB)

bsearch0.0ms (0.0%)

bsearch6.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
2.128074838480746e-33
2.4830756548679432e-33
4.0ms
-3.712143610141413e-15
-1.2570477045224315e-15
Samples
2.0ms112×0valid
Compiler

Compiled 14 to 15 computations (-7.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)
Add: 0.0ms (0.0% of total, 0.0 MiB)

bsearch0.0ms (0.0%)

derivations37.0ms (3.2%)

Stop Event
fuel
Compiler

Compiled 5 to 21 computations (-320.0% saved)

preprocess20.0ms (1.7%)

Compiler

Compiled 6 to 27 computations (-350.0% saved)

end0.0ms (0.0%)

gc185ms (16.3%)

Allocations
AllocatedPercentPhase
433.0 MiB40.3%sample
262.7 MiB24.4%rewrite
152.6 MiB14.2%reconstruct
63.0 MiB5.9%preprocess
52.7 MiB4.9%series
37.3 MiB3.5%regimes
22.8 MiB2.1%eval
22.0 MiB2.0%bsearch
14.9 MiB1.4%derivations
13.2 MiB1.2%prune
0.3 MiB0.0%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
1 074.5 MiB100.0%total

Profiling

Loading profile data...