Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendInside from plot-0.2.3.4

Time bar (total: 2.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 13 to 10 computations (23.1% saved)

sample268.0ms (12.6%)

Samples
166.0ms7 586×0valid
9.0ms399×1valid
8.0ms203×2valid
2.0ms68×3valid
Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Add: 9.0ms (91.0% of total, 0.0 MiB)
adjust: 1.0ms (10.1% of total, 0.0 MiB)
Bogosity

preprocess28.0ms (1.3%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
041115
120991
292390
3358190
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
Compiler

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series17.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159707
Stop Event
iter-limit
Counts
8 → 41
Calls
Call 1
Inputs
%2 = (+.f64 x y)
%3 = (+.f64 %2 y)
%4 = (+.f64 %3 x)
%6 = (+.f64 %4 z)
x
y
%2
%3
%4
z
%6
(+.f64 %6 x)
Outputs
%5 = (+ x y)
%9 = (+ %5 y)
%11 = (*.f64 #s(literal 2 binary64) y)
%15 = (+ %9 x)
%16 = (fma.f64 #s(literal 2 binary64) x %11)
%19 = (+ %15 z)
%20 = (+.f64 z %11)
%22 = (+.f64 z %16)
%24 = (+ %19 x)
%26 = (*.f64 #s(literal 3 binary64) x)
%31 = (/.f64 y x)
%35 = (*.f64 #s(literal 2 binary64) %31)
%39 = (*.f64 #s(literal 2 binary64) x)
%45 = (fma.f64 #s(literal 2 binary64) %31 (/.f64 z x))
%60 = (*.f64 #s(literal -2 binary64) %31)
%70 = (*.f64 #s(literal -1 binary64) (/.f64 %20 x))
%79 = (+.f64 z %39)
%81 = (+.f64 x %79)
%85 = (/.f64 x y)
%96 = (/.f64 z y)
%106 = (*.f64 #s(literal -1 binary64) %85)
%133 = (+.f64 x %16)
%135 = (/.f64 x z)
%136 = (/.f64 y z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 y)
(approx %5 (+.f64 x y))
(approx %9 %11)
(approx %9 (+.f64 x %11))
(approx %15 %16)
(approx %19 %20)
(approx %19 %22)
(approx %24 (+.f64 z (fma.f64 #s(literal 2 binary64) y %26)))
(approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %31)))
(approx %9 (*.f64 x (+.f64 #s(literal 1 binary64) %35)))
(approx %15 %39)
(approx %15 (*.f64 x (+.f64 #s(literal 2 binary64) %35)))
(approx %19 (*.f64 x (+.f64 #s(literal 2 binary64) %45)))
(approx %24 %26)
(approx %24 (*.f64 x (+.f64 #s(literal 3 binary64) %45)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %31) #s(literal 1 binary64)))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %60 #s(literal 1 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %60 #s(literal 2 binary64)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %70 #s(literal 2 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %70 #s(literal 3 binary64)))))
(approx %19 %79)
(approx %24 %81)
(approx %24 (+.f64 x %22))
(approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %85)))
(approx %9 (*.f64 y (+.f64 #s(literal 2 binary64) %85)))
(approx %15 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %85))))
(approx %19 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %85 %96))))
(approx %24 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %85 (+.f64 %85 %96)))))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %106 #s(literal 1 binary64)))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %106 #s(literal 2 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %85) #s(literal 2 binary64)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %79 y)) #s(literal 2 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %81 y)) #s(literal 2 binary64)))))
(approx z z)
(approx %24 %133)
(approx %19 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (*.f64 #s(literal 2 binary64) %136)))))
(approx %24 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (fma.f64 #s(literal 2 binary64) %136 %135)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %16 z)) #s(literal 1 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %133 z)) #s(literal 1 binary64)))))
Calls

9 calls:

TimeVariablePoint
2.0ms
y
inf
1.0ms
x
-inf
1.0ms
x
inf
1.0ms
y
-inf
1.0ms
z
-inf

rewrite105.0ms (4.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0838
01338
14332
217632
370032
4149032
5246432
0405032
0424528
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 371
Calls
Call 1
Inputs
%2 = (+.f64 x y)
%3 = (+.f64 %2 y)
%4 = (+.f64 %3 x)
%6 = (+.f64 %4 z)
x
y
%2
%3
%4
z
%6
(+.f64 %6 x)
Outputs
%2 = (+.f64 y x)
%4 = (*.f64 %2 #s(literal 1/2 binary64))
%7 = (*.f64 #s(literal 2 binary64) %2)
%9 = (*.f64 #s(literal 1/2 binary64) %2)
%16 = (neg.f64 %2)
%17 = (*.f64 %16 #s(literal 1 binary64))
%21 = (*.f64 #s(literal -2 binary64) %2)
%31 = (*.f64 %2 #s(literal 0 binary64))
%33 = (*.f64 #s(literal 0 binary64) %2)
%49 = (neg.f64 x)
%51 = (neg.f64 y)
%60 = (fma.f64 #s(literal 2 binary64) y x)
%64 = (+.f64 x x)
%69 = (*.f64 #s(literal -2 binary64) y)
%72 = (+.f64 y y)
%79 = (*.f64 y #s(literal 4 binary64))
%82 = (*.f64 #s(literal 4 binary64) y)
%85 = (*.f64 %51 #s(literal 4 binary64))
%88 = (*.f64 #s(literal 4 binary64) %51)
%94 = (-.f64 %69 x)
%97 = (*.f64 y #s(literal 1/2 binary64))
%120 = (*.f64 #s(literal 4 binary64) %2)
%128 = (*.f64 y #s(literal 8 binary64))
%137 = (*.f64 #s(literal 8 binary64) y)
%146 = (*.f64 x #s(literal 8 binary64))
%151 = (*.f64 x #s(literal 4 binary64))
%156 = (*.f64 #s(literal 8 binary64) x)
%161 = (*.f64 #s(literal 4 binary64) x)
%170 = (*.f64 %51 #s(literal 8 binary64))
%179 = (*.f64 #s(literal 8 binary64) %51)
%188 = (*.f64 %49 #s(literal 8 binary64))
%193 = (*.f64 %49 #s(literal 4 binary64))
%198 = (*.f64 #s(literal 8 binary64) %49)
%203 = (*.f64 #s(literal 4 binary64) %49)
%208 = (*.f64 %2 #s(literal 8 binary64))
%212 = (*.f64 %2 #s(literal 4 binary64))
%215 = (*.f64 #s(literal 8 binary64) %2)
%232 = (*.f64 x #s(literal 1/2 binary64))
%246 = (*.f64 #s(literal 3/2 binary64) %2)
%259 = (fma.f64 #s(literal 2 binary64) x y)
%270 = (*.f64 %2 #s(literal 3/2 binary64))
%279 = (*.f64 #s(literal -2 binary64) x)
%286 = (-.f64 %279 y)
%303 = (fma.f64 #s(literal 2 binary64) %2 z)
%308 = (-.f64 %21 z)
%311 = (+.f64 z x)
%312 = (+.f64 %311 y)
%314 = (fma.f64 #s(literal 2 binary64) x z)
%316 = (fma.f64 #s(literal 2 binary64) y z)
%333 = (+.f64 z y)
%337 = (+.f64 %259 z)
%339 = (fma.f64 #s(literal 2 binary64) y %311)
%357 = (-.f64 %69 z)
%361 = (neg.f64 z)
%362 = (-.f64 %361 y)
%366 = (-.f64 %279 z)
%371 = (neg.f64 %311)
%373 = (neg.f64 %312)
%375 = (-.f64 %279 %333)
%377 = (-.f64 %69 %311)
%396 = (fma.f64 #s(literal 3 binary64) x %316)
%406 = (fma.f64 #s(literal 3 binary64) x z)
%425 = (*.f64 #s(literal 3 binary64) x)
%427 = (fma.f64 #s(literal 3 binary64) x y)
%432 = (fma.f64 #s(literal 3 binary64) x %333)
%439 = (fma.f64 #s(literal 2 binary64) %2 x)
%456 = (*.f64 #s(literal -3 binary64) x)
x
y
(*.f64 %4 #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) %7)
(*.f64 #s(literal 2 binary64) %9)
(*.f64 #s(literal 1 binary64) %2)
(*.f64 %7 #s(literal 1/2 binary64))
(*.f64 %2 #s(literal 1 binary64))
(pow.f64 %2 #s(literal 1 binary64))
(/.f64 %17 #s(literal -1 binary64))
(/.f64 %21 #s(literal -2 binary64))
(/.f64 %16 #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64)))
(/.f64 %7 #s(literal 2 binary64))
(/.f64 %2 #s(literal 1 binary64))
(neg.f64 %17)
(neg.f64 %16)
(fma.f64 %4 #s(literal 2 binary64) %31)
(fma.f64 %4 #s(literal 2 binary64) %33)
(fma.f64 #s(literal 1/2 binary64) %7 %31)
(fma.f64 #s(literal 1/2 binary64) %7 %33)
(fma.f64 #s(literal 1/2 binary64) %2 %9)
(fma.f64 #s(literal 2 binary64) %9 %31)
(fma.f64 #s(literal 2 binary64) %9 %33)
(fma.f64 #s(literal 0 binary64) %2 %2)
(fma.f64 #s(literal 1 binary64) %2 %31)
(fma.f64 #s(literal 1 binary64) %2 %33)
(fma.f64 %7 #s(literal 1/2 binary64) %31)
(fma.f64 %7 #s(literal 1/2 binary64) %33)
(fma.f64 %2 #s(literal 1/2 binary64) %4)
(fma.f64 %2 #s(literal 0 binary64) %2)
(fma.f64 %2 #s(literal 1 binary64) %31)
(fma.f64 %2 #s(literal 1 binary64) %33)
(-.f64 y %49)
(-.f64 x %51)
(+.f64 %4 %4)
(+.f64 %31 %2)
(+.f64 %9 %9)
(+.f64 %33 %2)
(+.f64 %2 %31)
(+.f64 %2 %33)
%2
(+.f64 x y)
(*.f64 #s(literal 1 binary64) %60)
(pow.f64 %60 #s(literal 1 binary64))
(/.f64 (fma.f64 y #s(literal 4 binary64) %64) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) y %64) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %2 %69) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %2 %72) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) y %21) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) y %7) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) x %79) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) x %82) #s(literal 2 binary64))
(/.f64 (-.f64 %64 %85) #s(literal 2 binary64))
(/.f64 (-.f64 %64 %88) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %60 #s(literal -1 binary64)))
(/.f64 %60 #s(literal 1 binary64))
(neg.f64 %94)
(fma.f64 %4 #s(literal 2 binary64) y)
(fma.f64 %97 #s(literal 4 binary64) x)
(fma.f64 #s(literal -2 binary64) %51 x)
(fma.f64 #s(literal 1/2 binary64) %82 x)
(fma.f64 #s(literal 1/2 binary64) %7 y)
(fma.f64 #s(literal 2 binary64) %9 y)
%60
(fma.f64 %72 #s(literal 1 binary64) x)
(fma.f64 %51 #s(literal -2 binary64) x)
(fma.f64 #s(literal 1 binary64) %72 x)
(fma.f64 #s(literal 1 binary64) %2 y)
(fma.f64 %7 #s(literal 1/2 binary64) y)
(fma.f64 %2 #s(literal 1 binary64) y)
(fma.f64 y #s(literal 2 binary64) x)
(-.f64 %72 %49)
(-.f64 %2 %51)
(-.f64 y %16)
(-.f64 x %69)
(+.f64 %72 x)
(+.f64 %2 y)
(+.f64 y %2)
(+.f64 x %72)
(*.f64 %4 #s(literal 4 binary64))
(*.f64 #s(literal -2 binary64) %16)
(*.f64 #s(literal 1/2 binary64) %120)
%7
(*.f64 %16 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %7)
(*.f64 %7 #s(literal 1 binary64))
(*.f64 %2 #s(literal 2 binary64))
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 (fma.f64 x #s(literal 8 binary64) %128) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 8 binary64) x %128) #s(literal 4 binary64))
(/.f64 (fma.f64 x #s(literal 4 binary64) %79) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) x %79) #s(literal 2 binary64))
(/.f64 (fma.f64 x #s(literal 8 binary64) %137) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 8 binary64) x %137) #s(literal 4 binary64))
(/.f64 (fma.f64 x #s(literal 4 binary64) %82) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) x %82) #s(literal 2 binary64))
(/.f64 (fma.f64 y #s(literal 8 binary64) %146) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 8 binary64) y %146) #s(literal 4 binary64))
(/.f64 (fma.f64 y #s(literal 4 binary64) %151) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) y %151) #s(literal 2 binary64))
(/.f64 (fma.f64 y #s(literal 8 binary64) %156) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 8 binary64) y %156) #s(literal 4 binary64))
(/.f64 (fma.f64 y #s(literal 4 binary64) %161) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) y %161) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %2 %21) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %2 %7) #s(literal 2 binary64))
(/.f64 (-.f64 %146 %170) #s(literal 4 binary64))
(/.f64 (-.f64 %156 %170) #s(literal 4 binary64))
(/.f64 (-.f64 %151 %85) #s(literal 2 binary64))
(/.f64 (-.f64 %161 %85) #s(literal 2 binary64))
(/.f64 (-.f64 %146 %179) #s(literal 4 binary64))
(/.f64 (-.f64 %156 %179) #s(literal 4 binary64))
(/.f64 (-.f64 %151 %88) #s(literal 2 binary64))
(/.f64 (-.f64 %161 %88) #s(literal 2 binary64))
(/.f64 (-.f64 %128 %188) #s(literal 4 binary64))
(/.f64 (-.f64 %137 %188) #s(literal 4 binary64))
(/.f64 (-.f64 %79 %193) #s(literal 2 binary64))
(/.f64 (-.f64 %82 %193) #s(literal 2 binary64))
(/.f64 (-.f64 %128 %198) #s(literal 4 binary64))
(/.f64 (-.f64 %137 %198) #s(literal 4 binary64))
(/.f64 (-.f64 %79 %203) #s(literal 2 binary64))
(/.f64 (-.f64 %82 %203) #s(literal 2 binary64))
(/.f64 (neg.f64 %208) #s(literal -4 binary64))
(/.f64 (neg.f64 %212) #s(literal -2 binary64))
(/.f64 (neg.f64 %215) #s(literal -4 binary64))
(/.f64 (neg.f64 %120) #s(literal -2 binary64))
(/.f64 %208 #s(literal 4 binary64))
(/.f64 %212 #s(literal 2 binary64))
(/.f64 %215 #s(literal 4 binary64))
(/.f64 %120 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(/.f64 %7 #s(literal 1 binary64))
(neg.f64 %21)
(fma.f64 %4 #s(literal 4 binary64) %31)
(fma.f64 %4 #s(literal 4 binary64) %33)
(fma.f64 %4 #s(literal 2 binary64) %2)
(fma.f64 %97 #s(literal 4 binary64) %64)
(fma.f64 %232 #s(literal 4 binary64) %72)
(fma.f64 #s(literal 3/2 binary64) %2 %9)
(fma.f64 #s(literal -2 binary64) %16 %31)
(fma.f64 #s(literal -2 binary64) %16 %33)
(fma.f64 #s(literal -2 binary64) %49 %72)
(fma.f64 #s(literal -2 binary64) %51 %64)
(fma.f64 %64 #s(literal 1 binary64) %72)
(fma.f64 #s(literal 1/2 binary64) %120 %31)
(fma.f64 #s(literal 1/2 binary64) %120 %33)
(fma.f64 #s(literal 1/2 binary64) %82 %64)
(fma.f64 #s(literal 1/2 binary64) %161 %72)
(fma.f64 #s(literal 1/2 binary64) %7 %2)
(fma.f64 #s(literal 1/2 binary64) %2 %246)
(fma.f64 #s(literal 2 binary64) %9 %2)
(fma.f64 #s(literal 2 binary64) %2 %31)
(fma.f64 #s(literal 2 binary64) %2 %33)
(fma.f64 #s(literal 2 binary64) y %64)
(fma.f64 #s(literal 2 binary64) x %72)
(fma.f64 %16 #s(literal -2 binary64) %31)
(fma.f64 %16 #s(literal -2 binary64) %33)
(fma.f64 %72 #s(literal 1 binary64) %64)
(fma.f64 %49 #s(literal -2 binary64) %72)
(fma.f64 %51 #s(literal -2 binary64) %64)
(fma.f64 #s(literal 1 binary64) %64 %72)
(fma.f64 #s(literal 1 binary64) %259 y)
(fma.f64 #s(literal 1 binary64) %72 %64)
(fma.f64 #s(literal 1 binary64) %7 %31)
(fma.f64 #s(literal 1 binary64) %7 %33)
(fma.f64 #s(literal 1 binary64) %60 x)
(fma.f64 #s(literal 1 binary64) %2 %2)
(fma.f64 %7 #s(literal 1/2 binary64) %2)
(fma.f64 %7 #s(literal 1 binary64) %31)
(fma.f64 %7 #s(literal 1 binary64) %33)
(fma.f64 %2 #s(literal 3/2 binary64) %4)
(fma.f64 %2 #s(literal 1/2 binary64) %270)
(fma.f64 %2 #s(literal 2 binary64) %31)
(fma.f64 %2 #s(literal 2 binary64) %33)
(fma.f64 %2 #s(literal 1 binary64) %2)
(fma.f64 y #s(literal 2 binary64) %64)
(fma.f64 x #s(literal 2 binary64) %72)
(-.f64 %64 %69)
(-.f64 %259 %51)
(-.f64 %72 %279)
(-.f64 %60 %49)
(-.f64 %2 %17)
(-.f64 %2 (*.f64 #s(literal -1 binary64) %2))
(-.f64 %2 %16)
(-.f64 y %286)
(-.f64 x %94)
(+.f64 %270 %4)
(+.f64 %4 %270)
(+.f64 %246 %9)
(+.f64 %9 %246)
(+.f64 %64 %72)
(+.f64 %259 y)
(+.f64 %72 %64)
(+.f64 %7 %31)
(+.f64 %7 %33)
(+.f64 %60 x)
(+.f64 %2 %2)
(+.f64 y %259)
(+.f64 x %60)
z
(*.f64 #s(literal 1 binary64) %303)
(pow.f64 %303 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %303 #s(literal -1 binary64)))
(neg.f64 %308)
(fma.f64 %4 #s(literal 4 binary64) z)
(fma.f64 %4 #s(literal 2 binary64) %312)
(fma.f64 %97 #s(literal 4 binary64) %314)
(fma.f64 %232 #s(literal 4 binary64) %316)
(fma.f64 #s(literal -2 binary64) %16 z)
(fma.f64 #s(literal -2 binary64) %49 %316)
(fma.f64 #s(literal -2 binary64) %51 %314)
(fma.f64 %64 #s(literal 1 binary64) %316)
(fma.f64 #s(literal 1/2 binary64) %120 z)
(fma.f64 #s(literal 1/2 binary64) %82 %314)
(fma.f64 #s(literal 1/2 binary64) %161 %316)
(fma.f64 #s(literal 1/2 binary64) %7 %312)
(fma.f64 #s(literal 2 binary64) %9 %312)
%303
(fma.f64 #s(literal 2 binary64) y %314)
(fma.f64 #s(literal 2 binary64) x %316)
(fma.f64 %16 #s(literal -2 binary64) z)
(fma.f64 %72 #s(literal 1 binary64) %314)
(fma.f64 %49 #s(literal -2 binary64) %316)
(fma.f64 %51 #s(literal -2 binary64) %314)
(fma.f64 #s(literal 1 binary64) %333 %259)
(fma.f64 #s(literal 1 binary64) %316 %64)
(fma.f64 #s(literal 1 binary64) %64 %316)
(fma.f64 #s(literal 1 binary64) %337 y)
(fma.f64 #s(literal 1 binary64) %339 x)
(fma.f64 #s(literal 1 binary64) %259 %333)
(fma.f64 #s(literal 1 binary64) %312 %2)
(fma.f64 #s(literal 1 binary64) %314 %72)
(fma.f64 #s(literal 1 binary64) %72 %314)
(fma.f64 #s(literal 1 binary64) %311 %60)
(fma.f64 #s(literal 1 binary64) %7 z)
(fma.f64 #s(literal 1 binary64) %60 %311)
(fma.f64 #s(literal 1 binary64) %2 %312)
(fma.f64 %7 #s(literal 1/2 binary64) %312)
(fma.f64 %7 #s(literal 1 binary64) z)
(fma.f64 %2 #s(literal 2 binary64) z)
(fma.f64 %2 #s(literal 1 binary64) %312)
(fma.f64 y #s(literal 2 binary64) %314)
(fma.f64 x #s(literal 2 binary64) %316)
(-.f64 %333 %286)
(-.f64 %316 %279)
(-.f64 %64 %357)
(-.f64 %337 %51)
(-.f64 %339 %49)
(-.f64 %259 %362)
(-.f64 %312 %16)
(-.f64 %314 %69)
(-.f64 %72 %366)
(-.f64 %311 %94)
(-.f64 z %21)
(-.f64 %7 %361)
(-.f64 %60 %371)
(-.f64 %2 %373)
(-.f64 y %375)
(-.f64 x %377)
(+.f64 %333 %259)
(+.f64 %316 %64)
(+.f64 %64 %316)
(+.f64 %337 y)
(+.f64 %339 x)
(+.f64 %259 %333)
(+.f64 %312 %2)
(+.f64 %314 %72)
(+.f64 %72 %314)
(+.f64 %311 %60)
(+.f64 z %7)
(+.f64 %7 z)
(+.f64 %60 %311)
(+.f64 %2 %312)
(+.f64 y %337)
(+.f64 x %339)
(*.f64 #s(literal 1 binary64) %396)
(pow.f64 %396 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %396 #s(literal -1 binary64)))
(neg.f64 (fma.f64 #s(literal -3 binary64) x %357))
(fma.f64 %4 #s(literal 4 binary64) %311)
(fma.f64 %4 #s(literal 2 binary64) %337)
(fma.f64 %97 #s(literal 4 binary64) %406)
(fma.f64 %232 #s(literal 4 binary64) %339)
%396
(fma.f64 #s(literal -2 binary64) %16 %311)
(fma.f64 #s(literal -2 binary64) %49 %339)
(fma.f64 #s(literal -2 binary64) %51 %406)
(fma.f64 %64 #s(literal 1 binary64) %339)
(fma.f64 #s(literal 1/2 binary64) %120 %311)
(fma.f64 #s(literal 1/2 binary64) %82 %406)
(fma.f64 #s(literal 1/2 binary64) %161 %339)
(fma.f64 #s(literal 1/2 binary64) %7 %337)
(fma.f64 #s(literal 2 binary64) %9 %337)
(fma.f64 #s(literal 2 binary64) %2 %311)
(fma.f64 #s(literal 2 binary64) y %406)
(fma.f64 #s(literal 2 binary64) x %339)
(fma.f64 %16 #s(literal -2 binary64) %311)
(fma.f64 %72 #s(literal 1 binary64) %406)
(fma.f64 %49 #s(literal -2 binary64) %339)
(fma.f64 %51 #s(literal -2 binary64) %406)
(fma.f64 #s(literal 1 binary64) %425 %316)
(fma.f64 #s(literal 1 binary64) %333 %427)
(fma.f64 #s(literal 1 binary64) %316 %425)
(fma.f64 #s(literal 1 binary64) %427 %333)
(fma.f64 #s(literal 1 binary64) %406 %72)
(fma.f64 #s(literal 1 binary64) %432 y)
(fma.f64 #s(literal 1 binary64) %64 %339)
(fma.f64 #s(literal 1 binary64) %337 %2)
(fma.f64 #s(literal 1 binary64) %339 %64)
(fma.f64 #s(literal 1 binary64) %259 %312)
(fma.f64 #s(literal 1 binary64) %312 %259)
(fma.f64 #s(literal 1 binary64) %439 z)
(fma.f64 #s(literal 1 binary64) %314 %60)
(fma.f64 #s(literal 1 binary64) %72 %406)
(fma.f64 #s(literal 1 binary64) %311 %7)
(fma.f64 #s(literal 1 binary64) %303 x)
(fma.f64 #s(literal 1 binary64) %7 %311)
(fma.f64 #s(literal 1 binary64) %60 %314)
(fma.f64 #s(literal 1 binary64) %2 %337)
(fma.f64 %7 #s(literal 1/2 binary64) %337)
(fma.f64 %7 #s(literal 1 binary64) %311)
(fma.f64 %2 #s(literal 2 binary64) %311)
(fma.f64 %2 #s(literal 1 binary64) %337)
(fma.f64 y #s(literal 2 binary64) %406)
(fma.f64 x #s(literal 3 binary64) %316)
(fma.f64 x #s(literal 2 binary64) %339)
(-.f64 %425 %357)
(-.f64 %333 (-.f64 %456 y))
(-.f64 %316 %456)
(-.f64 %427 %362)
(-.f64 %406 %69)
(-.f64 %432 %51)
(-.f64 %64 %377)
(-.f64 %337 %16)
(-.f64 %339 %279)
(-.f64 %259 %373)
(-.f64 %312 %286)
(-.f64 %439 %361)
(-.f64 %314 %94)
(-.f64 %72 (-.f64 %456 z))
(-.f64 %311 %21)
(-.f64 %303 %49)
(-.f64 z (fma.f64 #s(literal -3 binary64) x %69))
(-.f64 %7 %371)
(-.f64 %60 %366)
(-.f64 %2 %375)
(-.f64 y (-.f64 %456 %333))
(-.f64 x %308)
(+.f64 %425 %316)
(+.f64 %333 %427)
(+.f64 %316 %425)
(+.f64 %427 %333)
(+.f64 %406 %72)
(+.f64 %432 y)
(+.f64 %64 %339)
(+.f64 %337 %2)
(+.f64 %339 %64)
(+.f64 %259 %312)
(+.f64 %312 %259)
(+.f64 %439 z)
(+.f64 %314 %60)
(+.f64 %72 %406)
(+.f64 %311 %7)
(+.f64 %303 x)
(+.f64 z %439)
(+.f64 %7 %311)
(+.f64 %60 %314)
(+.f64 %2 %337)
(+.f64 y %432)
(+.f64 x %303)

reconstruct25.0ms (1.2%)

Counts
412 → 57
Compiler

Compiled 412 to 606 computations (-47.1% saved)

eval5.0ms (0.2%)

Compiler

Compiled 55 to 216 computations (-292.7% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New51455
Fresh000
Picked101
Done000
Total52456
Accuracy
100.0%
Counts
56 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z))
64.6%
(+.f64 (+.f64 (approx (+ (+ (+ x y) y) x) (*.f64 #s(literal 2 binary64) x)) z) x)
71.0%
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (+.f64 z (*.f64 #s(literal 2 binary64) y))) x)
36.3%
(approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x))
Compiler

Compiled 4 to 14 computations (-250.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series19.0ms (0.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0169745
Stop Event
iter-limit
Counts
17 → 41
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal 2 binary64) y)
%5 = (+.f64 z %4)
%8 = (+ (+ (+ x y) y) x)
%9 = (+ %8 z)
%10 = (approx %9 %5)
%12 = (*.f64 #s(literal 3 binary64) x)
%13 = (*.f64 #s(literal 2 binary64) x)
%14 = (approx %8 %13)
%17 = (fma.f64 #s(literal 2 binary64) y z)
%20 = (+.f64 %14 z)
x
y
z
#s(literal 2 binary64)
%4
%5
%10
#s(literal 3 binary64)
%12
%13
%14
(approx (+ %9 x) %12)
%17
(fma.f64 #s(literal 3 binary64) x %17)
(+.f64 %10 x)
%20
(+.f64 %20 x)
Outputs
%7 = (+ (+ (+ x y) y) x)
%9 = (+ %7 z)
%11 = (*.f64 #s(literal 2 binary64) y)
%12 = (+.f64 z %11)
%14 = (fma.f64 #s(literal 2 binary64) x %11)
%15 = (+.f64 z %14)
%18 = (* 3 x)
%20 = (*.f64 #s(literal 3 binary64) x)
%24 = (*.f64 #s(literal 2 binary64) x)
%28 = (+ %9 x)
%29 = (fma.f64 #s(literal 2 binary64) y %20)
%32 = (/.f64 y x)
%34 = (fma.f64 #s(literal 2 binary64) %32 (/.f64 z x))
%47 = (*.f64 #s(literal -1 binary64) (/.f64 %12 x))
%63 = (* 2 y)
%64 = (+ z %63)
%66 = (+.f64 z %24)
%68 = (+.f64 x %66)
%73 = (+ %18 (+ %63 z))
%74 = (+.f64 z %20)
%76 = (/.f64 z y)
%80 = (/.f64 x y)
%126 = (+.f64 x %14)
%130 = (/.f64 y z)
%131 = (*.f64 #s(literal 2 binary64) %130)
%135 = (/.f64 x z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %9 %12)
(approx %9 %15)
(approx %18 %20)
(approx (* 2 x) %24)
(approx %7 %11)
(approx %7 %14)
(approx %28 (+.f64 z %29))
(approx %9 (*.f64 x (+.f64 #s(literal 2 binary64) %34)))
(approx %7 (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %32))))
(approx %28 (*.f64 x (+.f64 #s(literal 3 binary64) %34)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %47 #s(literal 2 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -2 binary64) %32) #s(literal 2 binary64)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %47 #s(literal 3 binary64)))))
(approx y y)
(approx %64 z)
(approx %9 %66)
(approx %28 %68)
(approx %28 (+.f64 x %15))
(approx %73 %74)
(approx %64 (*.f64 y (+.f64 #s(literal 2 binary64) %76)))
(approx %9 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %80 %76))))
(approx %7 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %80))))
(approx %28 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %80 (+.f64 %80 %76)))))
(approx %73 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %80 %76))))
(approx %64 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %76) #s(literal 2 binary64)))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %66 y)) #s(literal 2 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %80) #s(literal 2 binary64)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %68 y)) #s(literal 2 binary64)))))
(approx %73 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %74 y)) #s(literal 2 binary64)))))
(approx %28 %126)
(approx %73 %29)
(approx %64 (*.f64 z (+.f64 #s(literal 1 binary64) %131)))
(approx %9 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 %131))))
(approx %28 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (fma.f64 #s(literal 2 binary64) %130 %135)))))
(approx %73 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %130 (*.f64 #s(literal 3 binary64) %135)))))
(approx %64 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %130) #s(literal 1 binary64)))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %14 z)) #s(literal 1 binary64)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %126 z)) #s(literal 1 binary64)))))
(approx %73 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %29 z)) #s(literal 1 binary64)))))
Calls

9 calls:

TimeVariablePoint
3.0ms
x
-inf
2.0ms
x
inf
2.0ms
y
-inf
2.0ms
y
inf
1.0ms
z
-inf

rewrite97.0ms (4.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022116
033113
1102101
2330101
3110199
4282299
0402799
0427197
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
17 → 453
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal 2 binary64) y)
%5 = (+.f64 z %4)
%8 = (+ (+ (+ x y) y) x)
%9 = (+ %8 z)
%10 = (approx %9 %5)
%12 = (*.f64 #s(literal 3 binary64) x)
%13 = (*.f64 #s(literal 2 binary64) x)
%14 = (approx %8 %13)
%17 = (fma.f64 #s(literal 2 binary64) y z)
%20 = (+.f64 %14 z)
x
y
z
#s(literal 2 binary64)
%4
%5
%10
#s(literal 3 binary64)
%12
%13
%14
(approx (+ %9 x) %12)
%17
(fma.f64 #s(literal 3 binary64) x %17)
(+.f64 %10 x)
%20
(+.f64 %20 x)
Outputs
%5 = (*.f64 y #s(literal 4 binary64))
%8 = (+.f64 y y)
%9 = (*.f64 %8 #s(literal 2 binary64))
%11 = (*.f64 #s(literal 2 binary64) %8)
%13 = (*.f64 #s(literal 1/2 binary64) y)
%16 = (*.f64 #s(literal 4 binary64) y)
%19 = (fma.f64 #s(literal 2 binary64) y %8)
%22 = (neg.f64 y)
%24 = (*.f64 #s(literal -2 binary64) y)
%31 = (*.f64 #s(literal -1 binary64) %22)
%69 = (*.f64 %24 #s(literal 2 binary64))
%103 = (*.f64 %8 #s(literal 0 binary64))
%105 = (*.f64 #s(literal 0 binary64) %8)
%142 = (fma.f64 #s(literal 2 binary64) y z)
%143 = (*.f64 #s(literal 1 binary64) %142)
%144 = (pow.f64 %142 #s(literal 1 binary64))
%146 = (/.f64 #s(literal 1 binary64) (pow.f64 %142 #s(literal -1 binary64)))
%147 = (-.f64 %24 z)
%148 = (neg.f64 %147)
%149 = (fma.f64 %5 #s(literal 1/2 binary64) z)
%150 = (fma.f64 %9 #s(literal 1/2 binary64) z)
%151 = (fma.f64 %11 #s(literal 1/2 binary64) z)
%152 = (fma.f64 %13 #s(literal 4 binary64) z)
%153 = (fma.f64 #s(literal 4 binary64) %13 z)
%154 = (fma.f64 #s(literal 1/2 binary64) %16 z)
%155 = (fma.f64 #s(literal 1/2 binary64) %11 z)
%156 = (fma.f64 #s(literal 1/2 binary64) %19 z)
%157 = (fma.f64 #s(literal -2 binary64) %22 z)
%158 = (fma.f64 %24 #s(literal -1 binary64) z)
%159 = (fma.f64 %22 #s(literal -2 binary64) z)
%160 = (+.f64 z y)
%161 = (fma.f64 #s(literal 1 binary64) %160 y)
%162 = (fma.f64 #s(literal 1 binary64) %8 z)
%163 = (fma.f64 %8 #s(literal 1 binary64) z)
%164 = (fma.f64 #s(literal 2 binary64) %31 z)
%165 = (fma.f64 y #s(literal 2 binary64) z)
%166 = (-.f64 %160 %22)
%167 = (neg.f64 z)
%168 = (-.f64 %8 %167)
%169 = (-.f64 z %24)
%170 = (neg.f64 %160)
%171 = (-.f64 y %170)
%172 = (+.f64 %160 y)
%173 = (+.f64 %8 z)
%174 = (+.f64 z %8)
%175 = (+.f64 y %160)
%178 = (* (+ y x) 2)
%179 = (+ %178 z)
%180 = (approx %179 %142)
%185 = (neg.f64 %180)
%188 = (+.f64 x x)
%189 = (*.f64 #s(literal 3 binary64) %188)
%192 = (*.f64 #s(literal 1/2 binary64) x)
%195 = (neg.f64 x)
%198 = (*.f64 #s(literal 3 binary64) x)
%203 = (*.f64 %192 #s(literal 3 binary64))
%205 = (fma.f64 #s(literal 1/2 binary64) x x)
%209 = (*.f64 %188 #s(literal 2 binary64))
%210 = (*.f64 %209 #s(literal 2 binary64))
%211 = (*.f64 #s(literal -2 binary64) x)
%212 = (*.f64 #s(literal 2 binary64) %211)
%215 = (*.f64 #s(literal 2 binary64) %188)
%216 = (*.f64 %215 #s(literal 2 binary64))
%221 = (+.f64 %195 %211)
%223 = (*.f64 #s(literal -3 binary64) x)
%225 = (*.f64 x #s(literal 4 binary64))
%231 = (*.f64 #s(literal 4 binary64) x)
%234 = (fma.f64 #s(literal 2 binary64) x %188)
%317 = (*.f64 %188 #s(literal 0 binary64))
%319 = (*.f64 #s(literal 0 binary64) %188)
%350 = (approx %178 %188)
%355 = (neg.f64 %350)
%358 = (approx (+ %179 x) %198)
%363 = (fma.f64 #s(literal 3 binary64) x %142)
%372 = (fma.f64 #s(literal 3 binary64) x z)
%374 = (+.f64 y x)
%376 = (+.f64 z x)
%378 = (fma.f64 #s(literal 2 binary64) y %376)
%380 = (*.f64 #s(literal 1/2 binary64) %374)
%399 = (*.f64 %374 #s(literal 2 binary64))
%400 = (fma.f64 #s(literal 2 binary64) x %160)
%403 = (neg.f64 %374)
%411 = (fma.f64 #s(literal 3 binary64) x y)
%413 = (fma.f64 #s(literal 3 binary64) x %160)
%417 = (fma.f64 #s(literal 2 binary64) x y)
%418 = (+.f64 %160 x)
%422 = (fma.f64 #s(literal 2 binary64) x z)
%423 = (fma.f64 #s(literal 2 binary64) y x)
%425 = (fma.f64 #s(literal 3 binary64) x %8)
%432 = (fma.f64 %374 #s(literal 2 binary64) z)
%484 = (-.f64 %24 x)
%495 = (*.f64 #s(literal -2 binary64) %374)
%505 = (neg.f64 %376)
%507 = (-.f64 %211 z)
%553 = (+.f64 %180 x)
%564 = (+.f64 %350 z)
%569 = (neg.f64 %564)
%575 = (+.f64 %564 x)
%582 = (+.f64 %350 x)
x
y
z
#s(literal 2 binary64)
(*.f64 %5 #s(literal 1/2 binary64))
(*.f64 %9 #s(literal 1/2 binary64))
(*.f64 %11 #s(literal 1/2 binary64))
(*.f64 %13 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %13)
(*.f64 #s(literal 1/2 binary64) %16)
(*.f64 #s(literal 1/2 binary64) %11)
(*.f64 #s(literal 1/2 binary64) %19)
(*.f64 #s(literal -2 binary64) %22)
(*.f64 %24 #s(literal -1 binary64))
(*.f64 %22 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %8)
(*.f64 %8 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %31)
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(pow.f64 %8 #s(literal 1 binary64))
(/.f64 (-.f64 %9 (*.f64 #s(literal 2 binary64) %24)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %24) #s(literal 4 binary64))
(/.f64 (*.f64 %24 #s(literal -4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) %8) #s(literal 8 binary64))
(/.f64 (*.f64 %8 #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %9) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %11) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %9) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %9) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %11) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %8) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %9) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %11) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %9) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %11) #s(literal 4 binary64))
(/.f64 (*.f64 %69 #s(literal -2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %69 #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %9 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %11 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %8 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %9 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %9 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %9 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %11 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %11 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %11 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (neg.f64 %9) #s(literal -2 binary64))
(/.f64 (neg.f64 %11) #s(literal -2 binary64))
(/.f64 %9 #s(literal 2 binary64))
(/.f64 %11 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64)))
(/.f64 %8 #s(literal 1 binary64))
(neg.f64 %24)
(fma.f64 %5 #s(literal 1/2 binary64) %103)
(fma.f64 %5 #s(literal 1/2 binary64) %105)
(fma.f64 %9 #s(literal 1/2 binary64) %103)
(fma.f64 %9 #s(literal 1/2 binary64) %105)
(fma.f64 %11 #s(literal 1/2 binary64) %103)
(fma.f64 %11 #s(literal 1/2 binary64) %105)
(fma.f64 %13 #s(literal 4 binary64) %103)
(fma.f64 %13 #s(literal 4 binary64) %105)
(fma.f64 #s(literal 4 binary64) %13 %103)
(fma.f64 #s(literal 4 binary64) %13 %105)
(fma.f64 #s(literal 1/2 binary64) %16 %103)
(fma.f64 #s(literal 1/2 binary64) %16 %105)
(fma.f64 #s(literal 1/2 binary64) %11 %103)
(fma.f64 #s(literal 1/2 binary64) %11 %105)
(fma.f64 #s(literal 1/2 binary64) %19 %103)
(fma.f64 #s(literal 1/2 binary64) %19 %105)
(fma.f64 #s(literal -1 binary64) %22 %31)
(fma.f64 #s(literal -2 binary64) %22 %103)
(fma.f64 #s(literal -2 binary64) %22 %105)
(fma.f64 %24 #s(literal -1 binary64) %103)
(fma.f64 %24 #s(literal -1 binary64) %105)
(fma.f64 %22 #s(literal -2 binary64) %103)
(fma.f64 %22 #s(literal -2 binary64) %105)
(fma.f64 #s(literal 1 binary64) %8 %103)
(fma.f64 #s(literal 1 binary64) %8 %105)
(fma.f64 %8 #s(literal 1 binary64) %103)
(fma.f64 %8 #s(literal 1 binary64) %105)
(fma.f64 #s(literal 2 binary64) %31 %103)
(fma.f64 #s(literal 2 binary64) %31 %105)
(fma.f64 #s(literal 2 binary64) y %103)
(fma.f64 #s(literal 2 binary64) y %105)
(fma.f64 y #s(literal 2 binary64) %103)
(fma.f64 y #s(literal 2 binary64) %105)
(-.f64 y %22)
(+.f64 %31 %31)
(+.f64 %8 %103)
(+.f64 %8 %105)
%8
%143
%144
%146
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%161
%162
%163
%164
%142
%165
%166
%168
%169
%171
%172
%173
%174
%175
(*.f64 #s(literal 1 binary64) %180)
(pow.f64 %180 #s(literal 1 binary64))
%180
(/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64)))
(neg.f64 %185)
#s(literal 3 binary64)
(*.f64 %189 #s(literal 1/2 binary64))
(*.f64 #s(literal 6 binary64) %192)
(*.f64 #s(literal -3 binary64) %195)
(*.f64 %195 #s(literal -3 binary64))
(*.f64 #s(literal 1 binary64) %198)
(*.f64 %188 #s(literal 3/2 binary64))
(*.f64 %198 #s(literal 1 binary64))
%198
(*.f64 #s(literal 2 binary64) %203)
(*.f64 #s(literal 2 binary64) %205)
(*.f64 x #s(literal 3 binary64))
(pow.f64 %198 #s(literal 1 binary64))
(/.f64 (-.f64 %210 %212) #s(literal 4 binary64))
(/.f64 (-.f64 %216 %212) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %198 #s(literal -1 binary64)))
(neg.f64 %221)
(neg.f64 %223)
(fma.f64 %225 #s(literal 1/2 binary64) x)
(fma.f64 %209 #s(literal 1/2 binary64) x)
(fma.f64 %215 #s(literal 1/2 binary64) x)
(fma.f64 %192 #s(literal 4 binary64) x)
(fma.f64 #s(literal 4 binary64) %192 x)
(fma.f64 #s(literal 1/2 binary64) %231 x)
(fma.f64 #s(literal 1/2 binary64) %215 x)
(fma.f64 #s(literal 1/2 binary64) %234 x)
(fma.f64 #s(literal -2 binary64) %195 x)
(fma.f64 %195 #s(literal -2 binary64) x)
(fma.f64 #s(literal 1 binary64) %188 x)
(fma.f64 %188 #s(literal 1 binary64) x)
(fma.f64 #s(literal 2 binary64) x x)
(fma.f64 x #s(literal 2 binary64) x)
(-.f64 %188 %195)
(-.f64 x %211)
(+.f64 %188 x)
(+.f64 x %188)
(*.f64 %225 #s(literal 1/2 binary64))
(*.f64 %209 #s(literal 1/2 binary64))
(*.f64 %215 #s(literal 1/2 binary64))
(*.f64 %192 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %192)
(*.f64 #s(literal 1/2 binary64) %231)
(*.f64 #s(literal 1/2 binary64) %215)
(*.f64 #s(literal 1/2 binary64) %234)
(*.f64 #s(literal -2 binary64) %195)
(*.f64 %195 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %188)
(*.f64 %188 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(pow.f64 %188 #s(literal 1 binary64))
(/.f64 (-.f64 %209 %212) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %211) #s(literal 4 binary64))
(/.f64 (*.f64 %211 #s(literal -4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %209) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %215) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %209) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %215) #s(literal -4 binary64))
(/.f64 (*.f64 %209 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %209 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %215 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %215 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) %188) #s(literal 8 binary64))
(/.f64 (*.f64 %188 #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %209) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %209) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %215) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %209) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %215) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %188) #s(literal 4 binary64))
(/.f64 (*.f64 %209 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 %210 #s(literal 4 binary64))
(/.f64 (*.f64 %215 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 %216 #s(literal 4 binary64))
(/.f64 (*.f64 %188 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (neg.f64 %209) #s(literal -2 binary64))
(/.f64 (neg.f64 %215) #s(literal -2 binary64))
(/.f64 %209 #s(literal 2 binary64))
(/.f64 %215 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %188 #s(literal -1 binary64)))
(/.f64 %188 #s(literal 1 binary64))
(neg.f64 %211)
(fma.f64 %225 #s(literal 1/2 binary64) %317)
(fma.f64 %225 #s(literal 1/2 binary64) %319)
(fma.f64 %209 #s(literal 1/2 binary64) %317)
(fma.f64 %209 #s(literal 1/2 binary64) %319)
(fma.f64 %215 #s(literal 1/2 binary64) %317)
(fma.f64 %215 #s(literal 1/2 binary64) %319)
(fma.f64 %192 #s(literal 4 binary64) %317)
(fma.f64 %192 #s(literal 4 binary64) %319)
(fma.f64 #s(literal 4 binary64) %192 %317)
(fma.f64 #s(literal 4 binary64) %192 %319)
(fma.f64 #s(literal 1/2 binary64) %231 %317)
(fma.f64 #s(literal 1/2 binary64) %231 %319)
(fma.f64 #s(literal 1/2 binary64) %215 %317)
(fma.f64 #s(literal 1/2 binary64) %215 %319)
(fma.f64 #s(literal 1/2 binary64) %234 %317)
(fma.f64 #s(literal 1/2 binary64) %234 %319)
(fma.f64 #s(literal -2 binary64) %195 %317)
(fma.f64 #s(literal -2 binary64) %195 %319)
(fma.f64 %195 #s(literal -2 binary64) %317)
(fma.f64 %195 #s(literal -2 binary64) %319)
(fma.f64 #s(literal 1 binary64) %188 %317)
(fma.f64 #s(literal 1 binary64) %188 %319)
(fma.f64 %188 #s(literal 1 binary64) %317)
(fma.f64 %188 #s(literal 1 binary64) %319)
(fma.f64 #s(literal 2 binary64) x %317)
(fma.f64 #s(literal 2 binary64) x %319)
(fma.f64 x #s(literal 2 binary64) %317)
(fma.f64 x #s(literal 2 binary64) %319)
(-.f64 x %195)
(+.f64 %188 %317)
(+.f64 %188 %319)
%188
(*.f64 #s(literal 1 binary64) %350)
(pow.f64 %350 #s(literal 1 binary64))
%350
(/.f64 #s(literal 1 binary64) (pow.f64 %350 #s(literal -1 binary64)))
(neg.f64 %355)
(*.f64 #s(literal 1 binary64) %358)
(pow.f64 %358 #s(literal 1 binary64))
%358
(/.f64 #s(literal 1 binary64) (pow.f64 %358 #s(literal -1 binary64)))
%143
%144
%146
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%161
%162
%163
%164
%142
%165
%166
%168
%169
%171
%172
%173
%174
%175
(*.f64 #s(literal 1 binary64) %363)
(pow.f64 %363 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %363 #s(literal -1 binary64)))
(neg.f64 (fma.f64 #s(literal -3 binary64) x %147))
(fma.f64 %189 #s(literal 1/2 binary64) %142)
(fma.f64 #s(literal 6 binary64) %192 %142)
(fma.f64 %5 #s(literal 1/2 binary64) %372)
(fma.f64 (*.f64 %374 #s(literal 4 binary64)) #s(literal 1/2 binary64) %376)
(fma.f64 %225 #s(literal 1/2 binary64) %378)
(fma.f64 %380 #s(literal 4 binary64) %376)
(fma.f64 %9 #s(literal 1/2 binary64) %372)
(fma.f64 %209 #s(literal 1/2 binary64) %378)
(fma.f64 %11 #s(literal 1/2 binary64) %372)
(fma.f64 %215 #s(literal 1/2 binary64) %378)
(fma.f64 %192 #s(literal 4 binary64) %378)
(fma.f64 %13 #s(literal 4 binary64) %372)
(fma.f64 #s(literal 4 binary64) %380 %376)
(fma.f64 #s(literal 4 binary64) %192 %378)
(fma.f64 #s(literal 4 binary64) %13 %372)
(fma.f64 #s(literal 1/2 binary64) %16 %372)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %374) %376)
(fma.f64 #s(literal 1/2 binary64) %231 %378)
(fma.f64 #s(literal 1/2 binary64) %11 %372)
(fma.f64 #s(literal 1/2 binary64) %215 %378)
(fma.f64 #s(literal 1/2 binary64) %19 %372)
(fma.f64 #s(literal 1/2 binary64) %234 %378)
(fma.f64 #s(literal 1/2 binary64) %399 %400)
(fma.f64 #s(literal -3 binary64) %195 %142)
(fma.f64 #s(literal -2 binary64) %403 %376)
(fma.f64 #s(literal -2 binary64) %195 %378)
(fma.f64 #s(literal -2 binary64) %22 %372)
(fma.f64 %24 #s(literal -1 binary64) %372)
(fma.f64 %195 #s(literal -3 binary64) %142)
(fma.f64 %195 #s(literal -2 binary64) %378)
(fma.f64 %22 #s(literal -2 binary64) %372)
(fma.f64 #s(literal 1 binary64) %411 %160)
(fma.f64 #s(literal 1 binary64) %413 y)
(fma.f64 #s(literal 1 binary64) %400 %374)
(fma.f64 #s(literal 1 binary64) %372 %8)
(fma.f64 #s(literal 1 binary64) %417 %418)
(fma.f64 #s(literal 1 binary64) %418 %417)
(fma.f64 #s(literal 1 binary64) %378 %188)
(fma.f64 #s(literal 1 binary64) %422 %423)
(fma.f64 #s(literal 1 binary64) %425 z)
(fma.f64 #s(literal 1 binary64) %160 %411)
(fma.f64 #s(literal 1 binary64) %376 %399)
(fma.f64 #s(literal 1 binary64) %142 %198)
(fma.f64 #s(literal 1 binary64) %188 %378)
(fma.f64 #s(literal 1 binary64) %198 %142)
(fma.f64 #s(literal 1 binary64) %432 x)
(fma.f64 #s(literal 1 binary64) %399 %376)
(fma.f64 #s(literal 1 binary64) %423 %422)
(fma.f64 #s(literal 1 binary64) %374 %400)
(fma.f64 #s(literal 1 binary64) %8 %372)
(fma.f64 %188 #s(literal 3/2 binary64) %142)
(fma.f64 %188 #s(literal 1 binary64) %378)
(fma.f64 %198 #s(literal 1 binary64) %142)
%363
(fma.f64 %399 #s(literal 1 binary64) %376)
(fma.f64 %374 #s(literal 1 binary64) %400)
(fma.f64 %374 #s(literal 2 binary64) %376)
(fma.f64 %8 #s(literal 1 binary64) %372)
(fma.f64 #s(literal 2 binary64) %203 %142)
(fma.f64 #s(literal 2 binary64) %380 %400)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y %192) %400)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x %13) %400)
(fma.f64 #s(literal 2 binary64) (+.f64 x %13) %418)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y x) %418)
(fma.f64 #s(literal 2 binary64) %205 %142)
(fma.f64 #s(literal 2 binary64) (+.f64 y %192) %422)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x y) %422)
(fma.f64 #s(literal 2 binary64) (+.f64 %374 %192) z)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x %374) z)
(fma.f64 #s(literal 2 binary64) (-.f64 %192 %22) %422)
(fma.f64 #s(literal 2 binary64) (-.f64 %192 %403) z)
(fma.f64 #s(literal 2 binary64) %31 %372)
(fma.f64 #s(literal 2 binary64) %374 %376)
(fma.f64 #s(literal 2 binary64) y %372)
(fma.f64 #s(literal 2 binary64) x %378)
(fma.f64 y #s(literal 2 binary64) %372)
(fma.f64 x #s(literal 3 binary64) %142)
(fma.f64 x #s(literal 2 binary64) %378)
(-.f64 %411 %170)
(-.f64 %413 %22)
(-.f64 %400 %403)
(-.f64 %372 %24)
(-.f64 %417 (neg.f64 %418))
(-.f64 %418 (-.f64 %211 y))
(-.f64 %378 %211)
(-.f64 %422 %484)
(-.f64 %425 %167)
(-.f64 %160 (+.f64 %403 %211))
(-.f64 %160 (-.f64 %403 %188))
(-.f64 %160 (-.f64 %195 %417))
(-.f64 %160 (neg.f64 %411))
(-.f64 %376 %495)
(-.f64 %142 (-.f64 %195 %188))
(-.f64 %142 %221)
(-.f64 %142 %223)
(-.f64 %188 (-.f64 %484 z))
(-.f64 %198 %147)
(-.f64 %432 %195)
(-.f64 %399 %505)
(-.f64 %423 %507)
(-.f64 %374 (-.f64 %211 %160))
(-.f64 %8 (-.f64 %505 %188))
(-.f64 %8 (-.f64 %195 %422))
(-.f64 %8 (+.f64 %195 %507))
(-.f64 %8 (+.f64 %505 %211))
(-.f64 %8 (-.f64 %223 z))
(-.f64 z (fma.f64 #s(literal -2 binary64) y %223))
(-.f64 y (-.f64 %167 %411))
(-.f64 y (-.f64 %505 %417))
(-.f64 y (neg.f64 %413))
(-.f64 x (-.f64 %495 z))
(+.f64 %411 %160)
(+.f64 %413 y)
(+.f64 %400 %374)
(+.f64 %372 %8)
(+.f64 %417 %418)
(+.f64 %418 %417)
(+.f64 %378 %188)
(+.f64 %422 %423)
(+.f64 %425 z)
(+.f64 %160 %411)
(+.f64 %376 %399)
(+.f64 %142 %198)
(+.f64 %188 %378)
(+.f64 %198 %142)
(+.f64 %432 x)
(+.f64 %399 %376)
(+.f64 %423 %422)
(+.f64 %374 %400)
(+.f64 %8 %372)
(+.f64 z %425)
(+.f64 y %413)
(+.f64 x %432)
(*.f64 #s(literal 1 binary64) %553)
(pow.f64 %553 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %553 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %553))
(fma.f64 #s(literal 1 binary64) %180 x)
(-.f64 %180 %195)
(-.f64 x %185)
%553
(+.f64 x %180)
(*.f64 #s(literal 1 binary64) %564)
(pow.f64 %564 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %564 #s(literal -1 binary64)))
(neg.f64 %569)
(fma.f64 #s(literal 1 binary64) %350 z)
(-.f64 %350 %167)
(-.f64 z %355)
%564
(+.f64 z %350)
(*.f64 #s(literal 1 binary64) %575)
(pow.f64 %575 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %575 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %575))
(fma.f64 #s(literal 1 binary64) %582 z)
(fma.f64 #s(literal 1 binary64) %376 %350)
(fma.f64 #s(literal 1 binary64) %564 x)
(fma.f64 #s(literal 1 binary64) %350 %376)
(-.f64 %582 %167)
(-.f64 %376 %355)
(-.f64 %564 %195)
(-.f64 %350 %505)
(-.f64 z (neg.f64 %582))
(-.f64 x %569)
(+.f64 %582 z)
(+.f64 %376 %350)
%575
(+.f64 %350 %376)
(+.f64 z %582)
(+.f64 x %564)

reconstruct36.0ms (1.7%)

Counts
494 → 77
Compiler

Compiled 494 to 698 computations (-41.3% saved)

eval7.0ms (0.3%)

Compiler

Compiled 77 to 219 computations (-184.4% saved)

prune3.0ms (0.1%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New71677
Fresh000
Picked224
Done000
Total73881
Accuracy
100.0%
Counts
81 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z))
64.6%
(+.f64 (+.f64 (approx (+ (+ (+ x y) y) x) (+.f64 x x)) z) x)
71.0%
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (fma.f64 #s(literal 2 binary64) y z)) x)
35.8%
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x)
2.3%
(approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
36.3%
(approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x))
70.9%
(approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 2 binary64) y (*.f64 #s(literal 3 binary64) x)))
64.6%
(approx (+ (* 3 x) (+ (* 2 y) z)) (+.f64 z (*.f64 #s(literal 3 binary64) x)))
Compiler

Compiled 8 to 17 computations (-112.5% saved)

sample-1.0ms (-0.0%)

Calls
Call 1
Inputs
Outputs

series21.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0202853
Stop Event
iter-limit
Counts
24 → 49
Calls
Call 1
Inputs
%4 = (approx x #s(literal 0 binary64))
%7 = (*.f64 #s(literal 3 binary64) x)
%8 = (fma.f64 #s(literal 2 binary64) y %7)
%9 = (+.f64 x x)
%10 = (fma.f64 #s(literal 2 binary64) y z)
%12 = (* 2 y)
%14 = (approx (+ z %12) z)
%15 = (+.f64 z %7)
%19 = (+ (* 3 x) (+ %12 z))
%24 = (+ (+ (+ x y) y) x)
%25 = (+ %24 z)
%26 = (approx %25 %14)
%28 = (approx %25 %10)
%30 = (approx %24 %9)
%31 = (+.f64 %30 z)
%33 = (*.f64 #s(literal 3 binary64) %4)
x
y
z
#s(literal 0 binary64)
%4
#s(literal 2 binary64)
#s(literal 3 binary64)
%7
%8
%9
%10
%14
%15
(approx %19 %15)
(approx %19 %8)
%26
(+.f64 %26 x)
%28
(+.f64 %28 x)
%30
%31
(+.f64 %31 x)
%33
(approx (+ %25 x) %33)
Outputs
%5 = (* 3 x)
%7 = (*.f64 #s(literal 3 binary64) x)
%11 = (* 2 y)
%12 = (+ %11 %5)
%14 = (*.f64 #s(literal 2 binary64) y)
%16 = (fma.f64 #s(literal 2 binary64) y %7)
%19 = (*.f64 #s(literal 2 binary64) x)
%22 = (+ z %5)
%24 = (+.f64 z %7)
%26 = (+ %11 z)
%27 = (+ %5 %26)
%28 = (+.f64 z %14)
%34 = (+ (+ (+ x y) y) x)
%35 = (+ %34 z)
%36 = (fma.f64 #s(literal 2 binary64) x %14)
%37 = (+.f64 z %36)
%40 = (/.f64 y x)
%41 = (*.f64 #s(literal 2 binary64) %40)
%45 = (/.f64 z x)
%49 = (fma.f64 #s(literal 2 binary64) %40 %45)
%61 = (*.f64 #s(literal -2 binary64) %40)
%72 = (*.f64 #s(literal -1 binary64) (/.f64 %28 x))
%86 = (+.f64 z %19)
%88 = (+ %35 x)
%89 = (+.f64 x %86)
%93 = (/.f64 x y)
%98 = (/.f64 z y)
%153 = (+.f64 x %36)
%156 = (/.f64 y z)
%157 = (*.f64 #s(literal 2 binary64) %156)
%161 = (/.f64 x z)
%162 = (*.f64 #s(literal 3 binary64) %161)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %7)
(approx %12 %14)
(approx %12 %16)
(approx (+ x x) %19)
(approx %22 z)
(approx %22 %24)
(approx %27 %28)
(approx %27 (+.f64 z %16))
(approx %35 %37)
(approx %34 %36)
(approx %12 (*.f64 x (+.f64 #s(literal 3 binary64) %41)))
(approx %22 (*.f64 x (+.f64 #s(literal 3 binary64) %45)))
(approx %27 (*.f64 x (+.f64 #s(literal 3 binary64) %49)))
(approx %35 (*.f64 x (+.f64 #s(literal 2 binary64) %49)))
(approx %34 (*.f64 x (+.f64 #s(literal 2 binary64) %41)))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 #s(literal 3 binary64)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %45) #s(literal 3 binary64)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %72 #s(literal 3 binary64)))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %72 #s(literal 2 binary64)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 #s(literal 2 binary64)))))
(approx y y)
(approx %35 %86)
(approx %88 %89)
(approx %88 (+.f64 x %37))
(approx %12 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 3 binary64) %93))))
(approx %26 (*.f64 y (+.f64 #s(literal 2 binary64) %98)))
(approx %27 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %93 %98))))
(approx %35 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %93 %98))))
(approx %88 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %93 (+.f64 %93 %98)))))
(approx %34 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %93))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -3 binary64) %93) #s(literal 2 binary64)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %98) #s(literal 2 binary64)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %24 y)) #s(literal 2 binary64)))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %86 y)) #s(literal 2 binary64)))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %89 y)) #s(literal 2 binary64)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %93) #s(literal 2 binary64)))))
(approx %88 %153)
(approx %26 (*.f64 z (+.f64 #s(literal 1 binary64) %157)))
(approx %22 (*.f64 z (+.f64 #s(literal 1 binary64) %162)))
(approx %27 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %156 %162))))
(approx %35 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %161 %157))))
(approx %88 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %161 (fma.f64 #s(literal 2 binary64) %156 %161)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %156) #s(literal 1 binary64)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -3 binary64) %161) #s(literal 1 binary64)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %16 z)) #s(literal 1 binary64)))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %36 z)) #s(literal 1 binary64)))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %153 z)) #s(literal 1 binary64)))))
Calls

9 calls:

TimeVariablePoint
2.0ms
x
inf
2.0ms
x
-inf
1.0ms
y
-inf
1.0ms
y
inf
1.0ms
z
-inf

rewrite109.0ms (5.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034193
043190
1136174
2392174
31188173
43065173
04187173
04531164
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
24 → 316
Calls
Call 1
Inputs
%4 = (approx x #s(literal 0 binary64))
%7 = (*.f64 #s(literal 3 binary64) x)
%8 = (fma.f64 #s(literal 2 binary64) y %7)
%9 = (+.f64 x x)
%10 = (fma.f64 #s(literal 2 binary64) y z)
%12 = (* 2 y)
%14 = (approx (+ z %12) z)
%15 = (+.f64 z %7)
%19 = (+ (* 3 x) (+ %12 z))
%24 = (+ (+ (+ x y) y) x)
%25 = (+ %24 z)
%26 = (approx %25 %14)
%28 = (approx %25 %10)
%30 = (approx %24 %9)
%31 = (+.f64 %30 z)
%33 = (*.f64 #s(literal 3 binary64) %4)
x
y
z
#s(literal 0 binary64)
%4
#s(literal 2 binary64)
#s(literal 3 binary64)
%7
%8
%9
%10
%14
%15
(approx %19 %15)
(approx %19 %8)
%26
(+.f64 %26 x)
%28
(+.f64 %28 x)
%30
%31
(+.f64 %31 x)
%33
(approx (+ %25 x) %33)
Outputs
%5 = (approx x #s(literal 0 binary64))
%14 = (neg.f64 x)
%17 = (*.f64 #s(literal 3 binary64) x)
%24 = (*.f64 #s(literal -2 binary64) x)
%25 = (+.f64 %14 %24)
%27 = (*.f64 #s(literal -3 binary64) x)
%30 = (*.f64 x #s(literal 4 binary64))
%33 = (+.f64 x x)
%34 = (*.f64 %33 #s(literal 2 binary64))
%36 = (*.f64 x #s(literal 1/2 binary64))
%38 = (*.f64 #s(literal 1/2 binary64) x)
%40 = (*.f64 #s(literal 4 binary64) x)
%52 = (+.f64 y x)
%53 = (fma.f64 %52 #s(literal 2 binary64) x)
%60 = (fma.f64 #s(literal 2 binary64) y x)
%62 = (*.f64 y #s(literal 4 binary64))
%69 = (+.f64 y y)
%70 = (*.f64 %69 #s(literal 2 binary64))
%72 = (*.f64 #s(literal 2 binary64) %69)
%75 = (*.f64 #s(literal 1/2 binary64) y)
%77 = (*.f64 #s(literal 1/2 binary64) %52)
%82 = (*.f64 #s(literal 4 binary64) y)
%87 = (fma.f64 #s(literal 2 binary64) y %69)
%89 = (*.f64 %52 #s(literal 2 binary64))
%90 = (fma.f64 #s(literal 2 binary64) x y)
%92 = (neg.f64 %52)
%94 = (neg.f64 y)
%98 = (*.f64 #s(literal -2 binary64) y)
%103 = (fma.f64 #s(literal 3 binary64) x y)
%122 = (*.f64 #s(literal -1 binary64) %94)
%134 = (-.f64 %24 y)
%136 = (-.f64 %14 %33)
%185 = (E.f64 )
%193 = (*.f64 %33 #s(literal 0 binary64))
%195 = (*.f64 #s(literal 0 binary64) %33)
%224 = (fma.f64 #s(literal 2 binary64) y z)
%242 = (+.f64 z y)
%249 = (neg.f64 z)
%260 = (approx (+ (+ z y) y) z)
%265 = (fma.f64 #s(literal 3 binary64) x z)
%270 = (+.f64 z x)
%271 = (neg.f64 %270)
%274 = (-.f64 %24 z)
%290 = (fma.f64 #s(literal 2 binary64) x z)
%317 = (+ (+ (* 3 x) z) (* 2 y))
%318 = (approx %317 %265)
%323 = (approx %317 %53)
%329 = (* (+ y x) 2)
%330 = (+ %329 z)
%331 = (approx %330 %260)
%336 = (neg.f64 %331)
%338 = (+.f64 %331 x)
%349 = (approx %330 %224)
%354 = (neg.f64 %349)
%356 = (+.f64 %349 x)
%367 = (approx %329 %33)
%372 = (neg.f64 %367)
%374 = (+.f64 %367 z)
%379 = (neg.f64 %374)
%385 = (+.f64 %374 x)
%392 = (+.f64 %367 x)
%409 = (neg.f64 %5)
%412 = (*.f64 #s(literal 3 binary64) %5)
%420 = (approx %317 %412)
x
y
z
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %5)
(pow.f64 %5 #s(literal 1 binary64))
%5
(/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -1 binary64)))
#s(literal 2 binary64)
#s(literal 3 binary64)
(*.f64 #s(literal -3 binary64) %14)
(*.f64 %14 #s(literal -3 binary64))
(*.f64 #s(literal 1 binary64) %17)
%17
(*.f64 x #s(literal 3 binary64))
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(neg.f64 %25)
(neg.f64 %27)
(fma.f64 %30 #s(literal 1/2 binary64) x)
(fma.f64 %34 #s(literal 1/2 binary64) x)
(fma.f64 %36 #s(literal 4 binary64) x)
(fma.f64 #s(literal 4 binary64) %38 x)
(fma.f64 #s(literal 1/2 binary64) %40 x)
(fma.f64 #s(literal -2 binary64) %14 x)
(fma.f64 %14 #s(literal -2 binary64) x)
(fma.f64 #s(literal 1 binary64) %33 x)
(fma.f64 %33 #s(literal 1 binary64) x)
(fma.f64 #s(literal 2 binary64) x x)
(fma.f64 x #s(literal 2 binary64) x)
(-.f64 %33 %14)
(-.f64 x %24)
(+.f64 %33 x)
(+.f64 x %33)
(*.f64 #s(literal 1 binary64) %53)
(pow.f64 %53 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %53 #s(literal -1 binary64)))
(neg.f64 (fma.f64 #s(literal -2 binary64) y %27))
(fma.f64 %30 #s(literal 1/2 binary64) %60)
(fma.f64 %62 #s(literal 1/2 binary64) %17)
(fma.f64 (*.f64 %52 #s(literal 4 binary64)) #s(literal 1/2 binary64) x)
(fma.f64 (*.f64 %52 #s(literal 1/2 binary64)) #s(literal 4 binary64) x)
(fma.f64 %34 #s(literal 1/2 binary64) %60)
(fma.f64 %70 #s(literal 1/2 binary64) %17)
(fma.f64 %72 #s(literal 1/2 binary64) %17)
(fma.f64 %36 #s(literal 4 binary64) %60)
(fma.f64 %75 #s(literal 4 binary64) %17)
(fma.f64 #s(literal 4 binary64) %77 x)
(fma.f64 #s(literal 4 binary64) %38 %60)
(fma.f64 #s(literal 4 binary64) %75 %17)
(fma.f64 #s(literal 1/2 binary64) %40 %60)
(fma.f64 #s(literal 1/2 binary64) %82 %17)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %52) x)
(fma.f64 #s(literal 1/2 binary64) %72 %17)
(fma.f64 #s(literal 1/2 binary64) %87 %17)
(fma.f64 #s(literal 1/2 binary64) %89 %90)
(fma.f64 #s(literal -2 binary64) %92 x)
(fma.f64 #s(literal -2 binary64) %94 %17)
(fma.f64 #s(literal -2 binary64) %14 %60)
(fma.f64 #s(literal -3 binary64) %14 %69)
(fma.f64 %98 #s(literal -1 binary64) %17)
(fma.f64 %94 #s(literal -2 binary64) %17)
(fma.f64 %14 #s(literal -2 binary64) %60)
(fma.f64 %14 #s(literal -3 binary64) %69)
(fma.f64 #s(literal 1 binary64) %103 y)
(fma.f64 #s(literal 1 binary64) %90 %52)
(fma.f64 #s(literal 1 binary64) %89 x)
(fma.f64 #s(literal 1 binary64) %60 %33)
(fma.f64 #s(literal 1 binary64) %52 %90)
(fma.f64 #s(literal 1 binary64) %69 %17)
(fma.f64 #s(literal 1 binary64) %33 %60)
(fma.f64 #s(literal 1 binary64) %17 %69)
(fma.f64 %89 #s(literal 1 binary64) x)
(fma.f64 %52 #s(literal 1 binary64) %90)
%53
(fma.f64 %69 #s(literal 1 binary64) %17)
(fma.f64 %33 #s(literal 1 binary64) %60)
(fma.f64 #s(literal 3 binary64) x %69)
(fma.f64 #s(literal 2 binary64) %77 %90)
(fma.f64 #s(literal 2 binary64) (+.f64 x %75) %52)
(fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y x) %52)
(fma.f64 #s(literal 2 binary64) %122 %17)
(fma.f64 #s(literal 2 binary64) %52 x)
(fma.f64 #s(literal 2 binary64) y %17)
(fma.f64 #s(literal 2 binary64) x %60)
(fma.f64 y #s(literal 2 binary64) %17)
(fma.f64 x #s(literal 3 binary64) %69)
(fma.f64 x #s(literal 2 binary64) %60)
(-.f64 %103 %94)
(-.f64 %90 %92)
(-.f64 %89 %14)
(-.f64 %60 %24)
(-.f64 %52 %134)
(-.f64 %69 %136)
(-.f64 %69 %25)
(-.f64 %69 %27)
(-.f64 %33 (-.f64 %98 x))
(-.f64 %17 %98)
(-.f64 y (fma.f64 #s(literal -2 binary64) x %92))
(-.f64 y (+.f64 %92 %24))
(-.f64 y (-.f64 %134 x))
(-.f64 y (-.f64 %24 %52))
(-.f64 y (-.f64 %92 %33))
(-.f64 y (+.f64 %14 %134))
(-.f64 y (+.f64 %134 %14))
(-.f64 y (-.f64 %14 %90))
(-.f64 y (-.f64 %27 y))
(-.f64 x (*.f64 #s(literal -2 binary64) %52))
(+.f64 %103 y)
(+.f64 %90 %52)
(+.f64 %89 x)
(+.f64 %60 %33)
(+.f64 %52 %90)
(+.f64 %69 %17)
(+.f64 %33 %60)
(+.f64 %17 %69)
(+.f64 y %103)
(+.f64 x %89)
(*.f64 %30 #s(literal 1/2 binary64))
(*.f64 %34 #s(literal 1/2 binary64))
(*.f64 %36 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %38)
(*.f64 #s(literal 1/2 binary64) %40)
(*.f64 #s(literal -2 binary64) %14)
(*.f64 %14 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %33)
(*.f64 %33 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(pow.f64 %33 #s(literal 1 binary64))
(/.f64 (*.f64 %33 %185) %185)
(/.f64 %34 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %33 #s(literal -1 binary64)))
(/.f64 %33 #s(literal 1 binary64))
(neg.f64 %24)
(fma.f64 %30 #s(literal 1/2 binary64) %193)
(fma.f64 %30 #s(literal 1/2 binary64) %195)
(fma.f64 %34 #s(literal 1/2 binary64) %193)
(fma.f64 %34 #s(literal 1/2 binary64) %195)
(fma.f64 %36 #s(literal 4 binary64) %193)
(fma.f64 %36 #s(literal 4 binary64) %195)
(fma.f64 #s(literal 4 binary64) %38 %193)
(fma.f64 #s(literal 4 binary64) %38 %195)
(fma.f64 #s(literal 1/2 binary64) %40 %193)
(fma.f64 #s(literal 1/2 binary64) %40 %195)
(fma.f64 #s(literal -2 binary64) %14 %193)
(fma.f64 #s(literal -2 binary64) %14 %195)
(fma.f64 %14 #s(literal -2 binary64) %193)
(fma.f64 %14 #s(literal -2 binary64) %195)
(fma.f64 #s(literal 1 binary64) %33 %193)
(fma.f64 #s(literal 1 binary64) %33 %195)
(fma.f64 %33 #s(literal 1 binary64) %193)
(fma.f64 %33 #s(literal 1 binary64) %195)
(fma.f64 #s(literal 2 binary64) x %193)
(fma.f64 #s(literal 2 binary64) x %195)
(fma.f64 x #s(literal 2 binary64) %193)
(fma.f64 x #s(literal 2 binary64) %195)
(-.f64 x (*.f64 %14 #s(literal 1 binary64)))
(-.f64 x (*.f64 #s(literal -1 binary64) x))
(-.f64 x %14)
(+.f64 %33 %193)
(+.f64 %33 %195)
%33
(*.f64 #s(literal 1 binary64) %224)
(pow.f64 %224 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %224 #s(literal -1 binary64)))
(neg.f64 (-.f64 %98 z))
(fma.f64 %62 #s(literal 1/2 binary64) z)
(fma.f64 %70 #s(literal 1/2 binary64) z)
(fma.f64 %72 #s(literal 1/2 binary64) z)
(fma.f64 %75 #s(literal 4 binary64) z)
(fma.f64 #s(literal 4 binary64) %75 z)
(fma.f64 #s(literal 1/2 binary64) %82 z)
(fma.f64 #s(literal 1/2 binary64) %72 z)
(fma.f64 #s(literal 1/2 binary64) %87 z)
(fma.f64 #s(literal -2 binary64) %94 z)
(fma.f64 %98 #s(literal -1 binary64) z)
(fma.f64 %94 #s(literal -2 binary64) z)
(fma.f64 #s(literal 1 binary64) %242 y)
(fma.f64 #s(literal 1 binary64) %69 z)
(fma.f64 %69 #s(literal 1 binary64) z)
(fma.f64 #s(literal 2 binary64) %122 z)
%224
(fma.f64 y #s(literal 2 binary64) z)
(-.f64 %242 %94)
(-.f64 %69 %249)
(-.f64 z %98)
(-.f64 y (neg.f64 %242))
(+.f64 %242 y)
(+.f64 %69 z)
(+.f64 z %69)
(+.f64 y %242)
(*.f64 #s(literal 1 binary64) %260)
(pow.f64 %260 #s(literal 1 binary64))
%260
(/.f64 #s(literal 1 binary64) (pow.f64 %260 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %265)
(pow.f64 %265 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %265 #s(literal -1 binary64)))
(neg.f64 (+.f64 %271 %24))
(neg.f64 (+.f64 %14 %274))
(neg.f64 (-.f64 %274 x))
(neg.f64 (-.f64 %27 z))
(fma.f64 %30 #s(literal 1/2 binary64) %270)
(fma.f64 %34 #s(literal 1/2 binary64) %270)
(fma.f64 %36 #s(literal 4 binary64) %270)
(fma.f64 #s(literal 4 binary64) %38 %270)
(fma.f64 #s(literal 1/2 binary64) %40 %270)
(fma.f64 #s(literal -2 binary64) %14 %270)
(fma.f64 #s(literal -3 binary64) %14 z)
(fma.f64 %14 #s(literal -2 binary64) %270)
(fma.f64 %14 #s(literal -3 binary64) z)
(fma.f64 #s(literal 1 binary64) %290 x)
(fma.f64 #s(literal 1 binary64) %270 %33)
(fma.f64 #s(literal 1 binary64) %33 %270)
(fma.f64 #s(literal 1 binary64) %17 z)
(fma.f64 %33 #s(literal 1 binary64) %270)
%265
(fma.f64 #s(literal 2 binary64) x %270)
(fma.f64 x #s(literal 3 binary64) z)
(fma.f64 x #s(literal 2 binary64) %270)
(-.f64 %290 %14)
(-.f64 %270 %24)
(-.f64 %33 %271)
(-.f64 %17 %249)
(-.f64 z %136)
(-.f64 z %27)
(-.f64 x %274)
(+.f64 %290 x)
(+.f64 %270 %33)
(+.f64 %33 %270)
(+.f64 %17 z)
(+.f64 z %17)
(+.f64 x %290)
(*.f64 #s(literal 1 binary64) %318)
(pow.f64 %318 #s(literal 1 binary64))
%318
(/.f64 #s(literal 1 binary64) (pow.f64 %318 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %323)
(pow.f64 %323 #s(literal 1 binary64))
%323
(/.f64 #s(literal 1 binary64) (pow.f64 %323 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %331)
(pow.f64 %331 #s(literal 1 binary64))
%331
(/.f64 #s(literal 1 binary64) (pow.f64 %331 #s(literal -1 binary64)))
(neg.f64 %336)
(*.f64 #s(literal 1 binary64) %338)
(pow.f64 %338 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %338 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %338))
(fma.f64 #s(literal 1 binary64) %331 x)
(-.f64 %331 %14)
(-.f64 x %336)
%338
(+.f64 x %331)
(*.f64 #s(literal 1 binary64) %349)
(pow.f64 %349 #s(literal 1 binary64))
%349
(/.f64 #s(literal 1 binary64) (pow.f64 %349 #s(literal -1 binary64)))
(neg.f64 %354)
(*.f64 #s(literal 1 binary64) %356)
(pow.f64 %356 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %356 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %356))
(fma.f64 #s(literal 1 binary64) %349 x)
(-.f64 %349 %14)
(-.f64 x %354)
%356
(+.f64 x %349)
(*.f64 #s(literal 1 binary64) %367)
(pow.f64 %367 #s(literal 1 binary64))
%367
(/.f64 #s(literal 1 binary64) (pow.f64 %367 #s(literal -1 binary64)))
(neg.f64 %372)
(*.f64 #s(literal 1 binary64) %374)
(pow.f64 %374 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %374 #s(literal -1 binary64)))
(neg.f64 %379)
(fma.f64 #s(literal 1 binary64) %367 z)
(-.f64 %367 %249)
(-.f64 z %372)
%374
(+.f64 z %367)
(*.f64 #s(literal 1 binary64) %385)
(pow.f64 %385 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %385 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %385))
(fma.f64 #s(literal 1 binary64) %392 z)
(fma.f64 #s(literal 1 binary64) %270 %367)
(fma.f64 #s(literal 1 binary64) %374 x)
(fma.f64 #s(literal 1 binary64) %367 %270)
(-.f64 %392 %249)
(-.f64 %270 %372)
(-.f64 %374 %14)
(-.f64 %367 %271)
(-.f64 z (neg.f64 %392))
(-.f64 x %379)
(+.f64 %392 z)
(+.f64 %270 %367)
%385
(+.f64 %367 %270)
(+.f64 z %392)
(+.f64 x %374)
(*.f64 %409 #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) %409)
(*.f64 #s(literal 1 binary64) %412)
%412
(*.f64 %5 #s(literal 3 binary64))
(pow.f64 %412 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %412 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal -3 binary64) %5))
(*.f64 #s(literal 1 binary64) %420)
(pow.f64 %420 #s(literal 1 binary64))
%420
(/.f64 #s(literal 1 binary64) (pow.f64 %420 #s(literal -1 binary64)))

reconstruct24.0ms (1.1%)

Counts
365 → 86
Compiler

Compiled 365 to 536 computations (-46.8% saved)

eval8.0ms (0.4%)

Compiler

Compiled 88 to 226 computations (-156.8% saved)

prune3.0ms (0.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New83588
Fresh000
Picked516
Done112
Total89796
Accuracy
100.0%
Counts
96 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.8%
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x)
36.3%
(approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x))
64.6%
(approx (+ (+ (* 3 x) z) (* 2 y)) (fma.f64 #s(literal 3 binary64) x z))
71.0%
(approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 3 binary64) x (+.f64 y y)))
66.0%
(approx (+ (* 3 x) (+ (* 2 y) z)) (+.f64 z (*.f64 #s(literal 2 binary64) y)))
37.1%
%2 = (* 3 x)
%5 = (* 2 y)
(approx (+ %2 (+ %5 z)) (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y)))
30.7%
%2 = (* 3 x)
(approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z))
Compiler

Compiled 7 to 12 computations (-71.4% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (0.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0119405
Stop Event
iter-limit
Counts
17 → 28
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal 2 binary64) y)
%5 = (+.f64 z %4)
%7 = (+.f64 y y)
%8 = (fma.f64 #s(literal 3 binary64) x z)
%9 = (fma.f64 #s(literal 3 binary64) x %7)
%11 = (* 2 y)
%13 = (* 3 x)
%15 = (approx (+ %11 %13) %4)
%17 = (approx (+ z %13) z)
%19 = (+ %13 (+ %11 z))
x
y
z
#s(literal 2 binary64)
%4
%5
#s(literal 3 binary64)
%7
%8
%9
%15
%17
(approx %19 %5)
(approx (+ (+ %13 z) %11) %8)
(approx %19 %9)
(approx %19 %15)
(approx %19 %17)
Outputs
%5 = (* 3 x)
%7 = (+ %5 z)
%10 = (*.f64 #s(literal 3 binary64) x)
%11 = (+.f64 z %10)
%15 = (+ %5 (+ y y))
%17 = (*.f64 #s(literal 2 binary64) y)
%19 = (fma.f64 #s(literal 2 binary64) y %10)
%22 = (* 2 y)
%24 = (+ %5 (+ %22 z))
%25 = (+.f64 z %17)
%30 = (/.f64 z x)
%34 = (/.f64 y x)
%62 = (+ z %22)
%63 = (/.f64 z y)
%67 = (/.f64 x y)
%94 = (/.f64 y z)
%99 = (/.f64 x z)
%100 = (*.f64 #s(literal 3 binary64) %99)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 z)
(approx %7 %11)
(approx %15 %17)
(approx %15 %19)
(approx %24 %25)
(approx %24 (+.f64 z %19))
(approx %7 %10)
(approx %7 (*.f64 x (+.f64 #s(literal 3 binary64) %30)))
(approx %15 (*.f64 x (+.f64 #s(literal 3 binary64) (*.f64 #s(literal 2 binary64) %34))))
(approx %24 (*.f64 x (+.f64 #s(literal 3 binary64) (fma.f64 #s(literal 2 binary64) %34 %30))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %30) #s(literal 3 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -2 binary64) %34) #s(literal 3 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %25 x)) #s(literal 3 binary64)))))
(approx y y)
(approx %62 (*.f64 y (+.f64 #s(literal 2 binary64) %63)))
(approx %15 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 3 binary64) %67))))
(approx %24 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %67 %63))))
(approx %62 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %63) #s(literal 2 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -3 binary64) %67) #s(literal 2 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %11 y)) #s(literal 2 binary64)))))
(approx %62 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %94))))
(approx %7 (*.f64 z (+.f64 #s(literal 1 binary64) %100)))
(approx %24 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %94 %100))))
(approx %62 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %94) #s(literal 1 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -3 binary64) %99) #s(literal 1 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %19 z)) #s(literal 1 binary64)))))
Calls

9 calls:

TimeVariablePoint
3.0ms
x
inf
2.0ms
y
-inf
1.0ms
y
inf
1.0ms
x
-inf
1.0ms
z
-inf

rewrite218.0ms (10.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025126
031118
197118
2229118
3495118
4971118
53633118
04011118
04172111
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
17 → 697
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal 2 binary64) y)
%5 = (+.f64 z %4)
%7 = (+.f64 y y)
%8 = (fma.f64 #s(literal 3 binary64) x z)
%9 = (fma.f64 #s(literal 3 binary64) x %7)
%11 = (* 2 y)
%13 = (* 3 x)
%15 = (approx (+ %11 %13) %4)
%17 = (approx (+ z %13) z)
%19 = (+ %13 (+ %11 z))
x
y
z
#s(literal 2 binary64)
%4
%5
#s(literal 3 binary64)
%7
%8
%9
%15
%17
(approx %19 %5)
(approx (+ (+ %13 z) %11) %8)
(approx %19 %9)
(approx %19 %15)
(approx %19 %17)
Outputs
%5 = (*.f64 #s(literal 1/2 binary64) y)
%7 = (*.f64 %5 #s(literal 16 binary64))
%9 = (*.f64 %7 #s(literal 1/4 binary64))
%10 = (*.f64 %5 #s(literal 1/4 binary64))
%11 = (*.f64 %10 #s(literal 16 binary64))
%12 = (+.f64 y y)
%14 = (*.f64 %12 #s(literal 1/8 binary64))
%16 = (*.f64 %14 #s(literal 8 binary64))
%17 = (*.f64 %12 #s(literal 8 binary64))
%18 = (*.f64 %17 #s(literal 1/8 binary64))
%20 = (*.f64 %12 #s(literal 4 binary64))
%21 = (*.f64 %20 #s(literal 1/4 binary64))
%23 = (*.f64 #s(literal -2 binary64) y)
%24 = (*.f64 %23 #s(literal 4 binary64))
%26 = (*.f64 %24 #s(literal -1/4 binary64))
%27 = (*.f64 #s(literal 4 binary64) y)
%28 = (*.f64 %27 #s(literal 2 binary64))
%29 = (*.f64 %28 #s(literal 1/4 binary64))
%30 = (*.f64 #s(literal 1/4 binary64) y)
%31 = (*.f64 %30 #s(literal 8 binary64))
%33 = (*.f64 #s(literal -4 binary64) y)
%35 = (*.f64 %33 #s(literal -1/2 binary64))
%36 = (*.f64 %27 #s(literal 1/2 binary64))
%37 = (*.f64 #s(literal -1/2 binary64) y)
%38 = (*.f64 %37 #s(literal -4 binary64))
%39 = (*.f64 #s(literal -4 binary64) %37)
%40 = (*.f64 #s(literal 8 binary64) %30)
%41 = (*.f64 %5 #s(literal 4 binary64))
%42 = (*.f64 #s(literal 4 binary64) %5)
%43 = (*.f64 #s(literal -1/2 binary64) %33)
%44 = (*.f64 #s(literal 1/2 binary64) %27)
%46 = (*.f64 #s(literal -1 binary64) %23)
%47 = (neg.f64 y)
%48 = (*.f64 #s(literal -2 binary64) %47)
%49 = (*.f64 %23 #s(literal -1 binary64))
%50 = (*.f64 %47 #s(literal -2 binary64))
%52 = (*.f64 #s(literal 1 binary64) %12)
%53 = (*.f64 %12 #s(literal 1 binary64))
%54 = (*.f64 #s(literal 2 binary64) y)
%55 = (*.f64 y #s(literal 2 binary64))
%56 = (pow.f64 %12 #s(literal 1 binary64))
%58 = (/.f64 (*.f64 y #s(literal 8 binary64)) #s(literal 4 binary64))
%60 = (/.f64 (*.f64 #s(literal 8 binary64) y) #s(literal 4 binary64))
%62 = (/.f64 (/.f64 %27 #s(literal 1/2 binary64)) #s(literal 4 binary64))
%64 = (/.f64 (fma.f64 #s(literal 4 binary64) y %27) #s(literal 4 binary64))
%66 = (/.f64 (-.f64 %27 %33) #s(literal 4 binary64))
%68 = (/.f64 (*.f64 #s(literal -4 binary64) %23) #s(literal 4 binary64))
%70 = (/.f64 (*.f64 %23 #s(literal -4 binary64)) #s(literal 4 binary64))
%72 = (/.f64 (*.f64 #s(literal 4 binary64) %27) #s(literal 8 binary64))
%74 = (/.f64 (*.f64 #s(literal 8 binary64) %12) #s(literal 8 binary64))
%75 = (/.f64 %17 #s(literal 8 binary64))
%76 = (/.f64 %20 #s(literal 4 binary64))
%78 = (/.f64 (*.f64 #s(literal 4 binary64) %12) #s(literal 4 binary64))
%80 = (/.f64 (*.f64 %27 #s(literal 4 binary64)) #s(literal 8 binary64))
%82 = (/.f64 (*.f64 #s(literal -2 binary64) %27) #s(literal -4 binary64))
%84 = (/.f64 (*.f64 #s(literal 2 binary64) %27) #s(literal 4 binary64))
%86 = (/.f64 (*.f64 %33 #s(literal -2 binary64)) #s(literal 4 binary64))
%88 = (/.f64 (*.f64 %33 #s(literal 2 binary64)) #s(literal -4 binary64))
%90 = (/.f64 (*.f64 %27 #s(literal -2 binary64)) #s(literal -4 binary64))
%91 = (/.f64 %28 #s(literal 4 binary64))
%92 = (/.f64 %33 #s(literal -2 binary64))
%93 = (/.f64 %27 #s(literal 2 binary64))
%94 = (/.f64 %23 #s(literal -1 binary64))
%96 = (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %27))
%98 = (/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
%99 = (/.f64 %12 #s(literal 1 binary64))
%100 = (/.f64 y #s(literal 1/2 binary64))
%101 = (neg.f64 %23)
%102 = (*.f64 %5 #s(literal 1/8 binary64))
%103 = (fma.f64 #s(literal 1/2 binary64) y y)
%104 = (fma.f64 %102 #s(literal 8 binary64) %103)
%105 = (-.f64 %5 %47)
%106 = (fma.f64 %102 #s(literal 8 binary64) %105)
%108 = (*.f64 %5 #s(literal 3 binary64))
%109 = (fma.f64 %102 #s(literal 8 binary64) %108)
%111 = (*.f64 y #s(literal 3/2 binary64))
%112 = (fma.f64 %102 #s(literal 8 binary64) %111)
%113 = (*.f64 #s(literal 3 binary64) %5)
%114 = (fma.f64 %102 #s(literal 8 binary64) %113)
%115 = (*.f64 #s(literal 3/2 binary64) y)
%116 = (fma.f64 %102 #s(literal 8 binary64) %115)
%118 = (fma.f64 %7 #s(literal 1/4 binary64) #s(literal 0 binary64))
%119 = (fma.f64 %10 #s(literal 16 binary64) #s(literal 0 binary64))
%120 = (fma.f64 %10 #s(literal 4 binary64) %103)
%121 = (fma.f64 %10 #s(literal 4 binary64) %105)
%122 = (fma.f64 %10 #s(literal 4 binary64) %108)
%123 = (fma.f64 %10 #s(literal 4 binary64) %111)
%124 = (fma.f64 %10 #s(literal 4 binary64) %113)
%125 = (fma.f64 %10 #s(literal 4 binary64) %115)
%126 = (fma.f64 %14 #s(literal 8 binary64) #s(literal 0 binary64))
%127 = (fma.f64 %17 #s(literal 1/8 binary64) #s(literal 0 binary64))
%128 = (fma.f64 %20 #s(literal 1/4 binary64) #s(literal 0 binary64))
%129 = (fma.f64 %24 #s(literal -1/4 binary64) #s(literal 0 binary64))
%130 = (fma.f64 %28 #s(literal 1/4 binary64) #s(literal 0 binary64))
%131 = (fma.f64 #s(literal 3/2 binary64) y %5)
%132 = (fma.f64 %30 #s(literal 8 binary64) #s(literal 0 binary64))
%133 = (fma.f64 %30 #s(literal 2 binary64) %103)
%134 = (fma.f64 %30 #s(literal 2 binary64) %105)
%135 = (fma.f64 %30 #s(literal 2 binary64) %108)
%136 = (fma.f64 %30 #s(literal 2 binary64) %111)
%137 = (fma.f64 %30 #s(literal 2 binary64) %113)
%138 = (fma.f64 %30 #s(literal 2 binary64) %115)
%139 = (fma.f64 %33 #s(literal -1/2 binary64) #s(literal 0 binary64))
%140 = (fma.f64 %27 #s(literal 1/8 binary64) %103)
%141 = (fma.f64 %27 #s(literal 1/8 binary64) %105)
%142 = (fma.f64 %27 #s(literal 1/8 binary64) %108)
%143 = (fma.f64 %27 #s(literal 1/8 binary64) %111)
%144 = (fma.f64 %27 #s(literal 1/8 binary64) %113)
%145 = (fma.f64 %27 #s(literal 1/8 binary64) %115)
%146 = (fma.f64 %27 #s(literal 1/2 binary64) #s(literal 0 binary64))
%147 = (fma.f64 %37 #s(literal -4 binary64) #s(literal 0 binary64))
%148 = (fma.f64 %37 #s(literal -1 binary64) %103)
%149 = (fma.f64 %37 #s(literal -1 binary64) %105)
%150 = (fma.f64 %37 #s(literal -1 binary64) %108)
%151 = (fma.f64 %37 #s(literal -1 binary64) %111)
%152 = (fma.f64 %37 #s(literal -1 binary64) %113)
%153 = (fma.f64 %37 #s(literal -1 binary64) %115)
%154 = (fma.f64 #s(literal -4 binary64) %37 #s(literal 0 binary64))
%155 = (fma.f64 #s(literal 1/4 binary64) %12 %103)
%156 = (fma.f64 #s(literal 1/4 binary64) %12 %105)
%157 = (fma.f64 #s(literal 1/4 binary64) %12 %108)
%158 = (fma.f64 #s(literal 1/4 binary64) %12 %111)
%159 = (fma.f64 #s(literal 1/4 binary64) %12 %113)
%160 = (fma.f64 #s(literal 1/4 binary64) %12 %115)
%161 = (fma.f64 #s(literal 8 binary64) %30 #s(literal 0 binary64))
%162 = (fma.f64 %5 #s(literal 4 binary64) #s(literal 0 binary64))
%163 = (fma.f64 %5 #s(literal 1 binary64) %103)
%164 = (fma.f64 %5 #s(literal 1 binary64) %105)
%165 = (fma.f64 %5 #s(literal 1 binary64) %108)
%166 = (fma.f64 %5 #s(literal 1 binary64) %111)
%167 = (fma.f64 %5 #s(literal 1 binary64) %113)
%168 = (fma.f64 %5 #s(literal 1 binary64) %115)
%169 = (fma.f64 %5 #s(literal 3 binary64) %5)
%170 = (fma.f64 #s(literal 4 binary64) %5 #s(literal 0 binary64))
%171 = (fma.f64 #s(literal -1/2 binary64) %33 #s(literal 0 binary64))
%172 = (fma.f64 #s(literal -1/2 binary64) %47 %103)
%173 = (fma.f64 #s(literal -1/2 binary64) %47 %105)
%174 = (fma.f64 #s(literal -1/2 binary64) %47 %108)
%175 = (fma.f64 #s(literal -1/2 binary64) %47 %111)
%176 = (fma.f64 #s(literal -1/2 binary64) %47 %113)
%177 = (fma.f64 #s(literal -1/2 binary64) %47 %115)
%178 = (fma.f64 #s(literal 1/2 binary64) %27 #s(literal 0 binary64))
%179 = (fma.f64 #s(literal 1/2 binary64) y %103)
%180 = (fma.f64 #s(literal 1/2 binary64) y %105)
%181 = (fma.f64 #s(literal 1/2 binary64) y %108)
%182 = (fma.f64 #s(literal 1/2 binary64) y %111)
%183 = (fma.f64 #s(literal 1/2 binary64) y %113)
%184 = (fma.f64 #s(literal 1/2 binary64) y %115)
%185 = (fma.f64 #s(literal -1 binary64) %37 %103)
%186 = (fma.f64 #s(literal -1 binary64) %37 %105)
%187 = (fma.f64 #s(literal -1 binary64) %37 %108)
%188 = (fma.f64 #s(literal -1 binary64) %37 %111)
%189 = (fma.f64 #s(literal -1 binary64) %37 %113)
%190 = (fma.f64 #s(literal -1 binary64) %37 %115)
%191 = (fma.f64 #s(literal -1 binary64) %23 #s(literal 0 binary64))
%192 = (fma.f64 #s(literal -2 binary64) %47 #s(literal 0 binary64))
%193 = (fma.f64 %23 #s(literal -1 binary64) #s(literal 0 binary64))
%194 = (fma.f64 %47 #s(literal -1/2 binary64) %103)
%195 = (fma.f64 %47 #s(literal -1/2 binary64) %105)
%196 = (fma.f64 %47 #s(literal -1/2 binary64) %108)
%197 = (fma.f64 %47 #s(literal -1/2 binary64) %111)
%198 = (fma.f64 %47 #s(literal -1/2 binary64) %113)
%199 = (fma.f64 %47 #s(literal -1/2 binary64) %115)
%200 = (fma.f64 %47 #s(literal -2 binary64) #s(literal 0 binary64))
%201 = (fma.f64 #s(literal 1 binary64) %5 %103)
%202 = (fma.f64 #s(literal 1 binary64) %5 %105)
%203 = (fma.f64 #s(literal 1 binary64) %5 %108)
%204 = (fma.f64 #s(literal 1 binary64) %5 %111)
%205 = (fma.f64 #s(literal 1 binary64) %5 %113)
%206 = (fma.f64 #s(literal 1 binary64) %5 %115)
%207 = (fma.f64 #s(literal 1 binary64) %12 #s(literal 0 binary64))
%208 = (fma.f64 #s(literal 3 binary64) %5 %5)
%209 = (fma.f64 %12 #s(literal 1/4 binary64) %103)
%210 = (fma.f64 %12 #s(literal 1/4 binary64) %105)
%211 = (fma.f64 %12 #s(literal 1/4 binary64) %108)
%212 = (fma.f64 %12 #s(literal 1/4 binary64) %111)
%213 = (fma.f64 %12 #s(literal 1/4 binary64) %113)
%214 = (fma.f64 %12 #s(literal 1/4 binary64) %115)
%215 = (fma.f64 %12 #s(literal 1 binary64) #s(literal 0 binary64))
%216 = (fma.f64 #s(literal 2 binary64) %30 %103)
%217 = (fma.f64 #s(literal 2 binary64) %30 %105)
%218 = (fma.f64 #s(literal 2 binary64) %30 %108)
%219 = (fma.f64 #s(literal 2 binary64) %30 %111)
%220 = (fma.f64 #s(literal 2 binary64) %30 %113)
%221 = (fma.f64 #s(literal 2 binary64) %30 %115)
%222 = (fma.f64 #s(literal 2 binary64) y #s(literal 0 binary64))
%223 = (fma.f64 y #s(literal 3/2 binary64) %5)
%224 = (fma.f64 y #s(literal 1/2 binary64) %103)
%225 = (fma.f64 y #s(literal 1/2 binary64) %105)
%226 = (fma.f64 y #s(literal 1/2 binary64) %108)
%227 = (fma.f64 y #s(literal 1/2 binary64) %111)
%228 = (fma.f64 y #s(literal 1/2 binary64) %113)
%229 = (fma.f64 y #s(literal 1/2 binary64) %115)
%230 = (fma.f64 y #s(literal 2 binary64) #s(literal 0 binary64))
%232 = (-.f64 (-.f64 y %37) %37)
%233 = (-.f64 %12 #s(literal 0 binary64))
%234 = (-.f64 y %47)
%236 = (+.f64 (+.f64 y %5) %5)
%237 = (+.f64 %108 %5)
%238 = (+.f64 %111 %5)
%239 = (+.f64 %113 %5)
%240 = (+.f64 %115 %5)
%241 = (+.f64 %5 %103)
%242 = (+.f64 %5 %105)
%243 = (+.f64 %5 %108)
%244 = (+.f64 %5 %111)
%245 = (+.f64 %5 %113)
%246 = (+.f64 %5 %115)
%247 = (+.f64 #s(literal 0 binary64) %12)
%248 = (+.f64 %12 #s(literal 0 binary64))
%250 = (+.f64 y (-.f64 #s(literal 0 binary64) %47))
%251 = (fma.f64 #s(literal 2 binary64) y z)
%254 = (+.f64 z y)
%269 = (fma.f64 #s(literal 1/2 binary64) y %254)
%271 = (-.f64 %47 z)
%272 = (-.f64 %5 %271)
%274 = (+.f64 #s(literal 0 binary64) z)
%276 = (neg.f64 z)
%277 = (-.f64 #s(literal 0 binary64) %276)
%403 = (fma.f64 #s(literal 3 binary64) x z)
%409 = (*.f64 #s(literal -3 binary64) x)
%412 = (neg.f64 x)
%415 = (*.f64 #s(literal 3 binary64) x)
%422 = (fma.f64 #s(literal 3 binary64) x %12)
%425 = (fma.f64 #s(literal 3 binary64) x y)
%440 = (fma.f64 #s(literal 1/2 binary64) y %425)
%442 = (-.f64 %409 y)
%443 = (-.f64 %5 %442)
%445 = (+.f64 #s(literal 0 binary64) %415)
%447 = (-.f64 #s(literal 0 binary64) %409)
%579 = (* 3 x)
%581 = (* 2 y)
%583 = (approx (+ %579 %581) %12)
%591 = (approx (- z (* -3 x)) z)
%597 = (+ (+ %581 z) %579)
%598 = (approx %597 %251)
%603 = (approx %597 %403)
%608 = (approx %597 %422)
%613 = (approx %597 %583)
%618 = (approx %597 %591)
x
y
z
#s(literal 2 binary64)
%9
%11
%16
%18
%21
%26
%29
%31
%35
%36
%38
%39
%40
%41
%42
%43
%44
%46
%48
%49
%50
%52
%53
%54
%55
%56
%58
%60
%62
%64
%66
%68
%70
%72
%74
%75
%76
%78
%80
%82
%84
%86
%88
%90
%91
%92
%93
%94
%96
%98
%99
%100
%101
%104
%106
%109
%112
%114
%116
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%134
%135
%136
%137
%138
%139
%140
%141
%142
%143
%144
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%173
%174
%175
%176
%177
%178
%179
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%215
%216
%217
%218
%219
%220
%221
%222
%223
%224
%225
%226
%227
%228
%229
%230
%232
%233
%234
%236
%237
%238
%239
%240
%241
%242
%243
%244
%245
%246
%247
%248
%250
%12
(*.f64 #s(literal 1 binary64) %251)
(pow.f64 %251 #s(literal 1 binary64))
(/.f64 (fma.f64 %254 #s(literal 2 binary64) %12) #s(literal 2 binary64))
(/.f64 (fma.f64 z #s(literal 2 binary64) %27) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %254 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 z #s(literal 2 binary64)) %33) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %251 #s(literal -1 binary64)))
(neg.f64 (-.f64 %23 z))
(fma.f64 %102 #s(literal 8 binary64) %269)
(fma.f64 %102 #s(literal 8 binary64) %272)
(fma.f64 %7 #s(literal 1/4 binary64) %274)
(fma.f64 %7 #s(literal 1/4 binary64) %277)
(fma.f64 %7 #s(literal 1/4 binary64) z)
(fma.f64 %10 #s(literal 16 binary64) %274)
(fma.f64 %10 #s(literal 16 binary64) %277)
(fma.f64 %10 #s(literal 16 binary64) z)
(fma.f64 %10 #s(literal 4 binary64) %269)
(fma.f64 %10 #s(literal 4 binary64) %272)
(fma.f64 %14 #s(literal 8 binary64) %274)
(fma.f64 %14 #s(literal 8 binary64) %277)
(fma.f64 %14 #s(literal 8 binary64) z)
(fma.f64 %17 #s(literal 1/8 binary64) %274)
(fma.f64 %17 #s(literal 1/8 binary64) %277)
(fma.f64 %17 #s(literal 1/8 binary64) z)
(fma.f64 %20 #s(literal 1/4 binary64) %274)
(fma.f64 %20 #s(literal 1/4 binary64) %277)
(fma.f64 %20 #s(literal 1/4 binary64) z)
(fma.f64 %24 #s(literal -1/4 binary64) %274)
(fma.f64 %24 #s(literal -1/4 binary64) %277)
(fma.f64 %24 #s(literal -1/4 binary64) z)
(fma.f64 %28 #s(literal 1/4 binary64) %274)
(fma.f64 %28 #s(literal 1/4 binary64) %277)
(fma.f64 %28 #s(literal 1/4 binary64) z)
(fma.f64 %30 #s(literal 8 binary64) %274)
(fma.f64 %30 #s(literal 8 binary64) %277)
(fma.f64 %30 #s(literal 8 binary64) z)
(fma.f64 %30 #s(literal 2 binary64) %269)
(fma.f64 %30 #s(literal 2 binary64) %272)
(fma.f64 %33 #s(literal -1/2 binary64) %274)
(fma.f64 %33 #s(literal -1/2 binary64) %277)
(fma.f64 %33 #s(literal -1/2 binary64) z)
(fma.f64 %27 #s(literal 1/8 binary64) %269)
(fma.f64 %27 #s(literal 1/8 binary64) %272)
(fma.f64 %27 #s(literal 1/2 binary64) %274)
(fma.f64 %27 #s(literal 1/2 binary64) %277)
(fma.f64 %27 #s(literal 1/2 binary64) z)
(fma.f64 %37 #s(literal -4 binary64) %274)
(fma.f64 %37 #s(literal -4 binary64) %277)
(fma.f64 %37 #s(literal -4 binary64) z)
(fma.f64 %37 #s(literal -1 binary64) %269)
(fma.f64 %37 #s(literal -1 binary64) %272)
(fma.f64 #s(literal -4 binary64) %37 %274)
(fma.f64 #s(literal -4 binary64) %37 %277)
(fma.f64 #s(literal -4 binary64) %37 z)
(fma.f64 #s(literal 1/4 binary64) %12 %269)
(fma.f64 #s(literal 1/4 binary64) %12 %272)
(fma.f64 #s(literal 8 binary64) %30 %274)
(fma.f64 #s(literal 8 binary64) %30 %277)
(fma.f64 #s(literal 8 binary64) %30 z)
(fma.f64 %5 #s(literal 4 binary64) %274)
(fma.f64 %5 #s(literal 4 binary64) %277)
(fma.f64 %5 #s(literal 4 binary64) z)
(fma.f64 %5 #s(literal 1 binary64) %269)
(fma.f64 %5 #s(literal 1 binary64) %272)
(fma.f64 #s(literal 4 binary64) %5 %274)
(fma.f64 #s(literal 4 binary64) %5 %277)
(fma.f64 #s(literal 4 binary64) %5 z)
(fma.f64 #s(literal -1/2 binary64) %33 %274)
(fma.f64 #s(literal -1/2 binary64) %33 %277)
(fma.f64 #s(literal -1/2 binary64) %33 z)
(fma.f64 #s(literal -1/2 binary64) %47 %269)
(fma.f64 #s(literal -1/2 binary64) %47 %272)
(fma.f64 #s(literal 1/2 binary64) %27 %274)
(fma.f64 #s(literal 1/2 binary64) %27 %277)
(fma.f64 #s(literal 1/2 binary64) %27 z)
(fma.f64 #s(literal 1/2 binary64) y %269)
(fma.f64 #s(literal 1/2 binary64) y %272)
(fma.f64 #s(literal -1 binary64) %37 %269)
(fma.f64 #s(literal -1 binary64) %37 %272)
(fma.f64 #s(literal -1 binary64) %23 %274)
(fma.f64 #s(literal -1 binary64) %23 %277)
(fma.f64 #s(literal -1 binary64) %23 z)
(fma.f64 #s(literal -2 binary64) %47 %274)
(fma.f64 #s(literal -2 binary64) %47 %277)
(fma.f64 #s(literal -2 binary64) %47 z)
(fma.f64 %23 #s(literal -1 binary64) %274)
(fma.f64 %23 #s(literal -1 binary64) %277)
(fma.f64 %23 #s(literal -1 binary64) z)
(fma.f64 %47 #s(literal -1/2 binary64) %269)
(fma.f64 %47 #s(literal -1/2 binary64) %272)
(fma.f64 %47 #s(literal -2 binary64) %274)
(fma.f64 %47 #s(literal -2 binary64) %277)
(fma.f64 %47 #s(literal -2 binary64) z)
(fma.f64 #s(literal 1 binary64) %5 %269)
(fma.f64 #s(literal 1 binary64) %5 %272)
(fma.f64 #s(literal 1 binary64) %254 y)
(fma.f64 #s(literal 1 binary64) %251 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %12 %274)
(fma.f64 #s(literal 1 binary64) %12 %277)
(fma.f64 #s(literal 1 binary64) %12 z)
(fma.f64 %12 #s(literal 1/4 binary64) %269)
(fma.f64 %12 #s(literal 1/4 binary64) %272)
(fma.f64 %12 #s(literal 1 binary64) %274)
(fma.f64 %12 #s(literal 1 binary64) %277)
(fma.f64 %12 #s(literal 1 binary64) z)
(fma.f64 #s(literal 2 binary64) %30 %269)
(fma.f64 #s(literal 2 binary64) %30 %272)
(fma.f64 #s(literal 2 binary64) y %274)
(fma.f64 #s(literal 2 binary64) y %277)
%251
(fma.f64 y #s(literal 1/2 binary64) %269)
(fma.f64 y #s(literal 1/2 binary64) %272)
(fma.f64 y #s(literal 2 binary64) %274)
(fma.f64 y #s(literal 2 binary64) %277)
(fma.f64 y #s(literal 2 binary64) z)
(-.f64 (-.f64 %254 %37) %37)
(-.f64 %254 %47)
(-.f64 %251 #s(literal 0 binary64))
(-.f64 %12 %276)
(-.f64 z %23)
(-.f64 y %271)
(+.f64 (+.f64 %254 %5) %5)
(+.f64 %5 %269)
(+.f64 %5 %272)
(+.f64 %254 y)
(+.f64 %251 #s(literal 0 binary64))
(+.f64 %12 %274)
(+.f64 %12 %277)
(+.f64 %12 z)
(+.f64 z %12)
(+.f64 y (+.f64 #s(literal 0 binary64) %254))
(+.f64 y (-.f64 #s(literal 0 binary64) %271))
(+.f64 y %254)
#s(literal 3 binary64)
%9
%11
%16
%18
%21
%26
%29
%31
%35
%36
%38
%39
%40
%41
%42
%43
%44
%46
%48
%49
%50
%52
%53
%54
%55
%56
%58
%60
%62
%64
%66
%68
%70
%72
%74
%75
%76
%78
%80
%82
%84
%86
%88
%90
%91
%92
%93
%94
%96
%98
%99
%100
%101
%104
%106
%109
%112
%114
%116
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%134
%135
%136
%137
%138
%139
%140
%141
%142
%143
%144
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%173
%174
%175
%176
%177
%178
%179
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%215
%216
%217
%218
%219
%220
%221
%222
%223
%224
%225
%226
%227
%228
%229
%230
%232
%233
%234
%236
%237
%238
%239
%240
%241
%242
%243
%244
%245
%246
%247
%248
%250
%12
(*.f64 #s(literal 1 binary64) %403)
(pow.f64 %403 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -1 binary64)))
(neg.f64 (-.f64 %409 z))
(fma.f64 %412 #s(literal -3 binary64) z)
(fma.f64 #s(literal -3 binary64) %412 z)
(fma.f64 #s(literal 1 binary64) %415 z)
%403
(fma.f64 x #s(literal 3 binary64) z)
(-.f64 %415 %276)
(-.f64 z %409)
(+.f64 %415 z)
(+.f64 z %415)
(*.f64 #s(literal 1 binary64) %422)
(pow.f64 %422 #s(literal 1 binary64))
(/.f64 (fma.f64 %425 #s(literal 2 binary64) %12) #s(literal 2 binary64))
(/.f64 (fma.f64 %415 #s(literal 2 binary64) %27) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %425 #s(literal 2 binary64)) %23) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %415 #s(literal 2 binary64)) %33) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %422 #s(literal -1 binary64)))
(neg.f64 (fma.f64 #s(literal -2 binary64) y %409))
(fma.f64 %102 #s(literal 8 binary64) %440)
(fma.f64 %102 #s(literal 8 binary64) %443)
(fma.f64 %7 #s(literal 1/4 binary64) %445)
(fma.f64 %7 #s(literal 1/4 binary64) %447)
(fma.f64 %7 #s(literal 1/4 binary64) %415)
(fma.f64 %10 #s(literal 16 binary64) %445)
(fma.f64 %10 #s(literal 16 binary64) %447)
(fma.f64 %10 #s(literal 16 binary64) %415)
(fma.f64 %10 #s(literal 4 binary64) %440)
(fma.f64 %10 #s(literal 4 binary64) %443)
(fma.f64 %14 #s(literal 8 binary64) %445)
(fma.f64 %14 #s(literal 8 binary64) %447)
(fma.f64 %14 #s(literal 8 binary64) %415)
(fma.f64 %17 #s(literal 1/8 binary64) %445)
(fma.f64 %17 #s(literal 1/8 binary64) %447)
(fma.f64 %17 #s(literal 1/8 binary64) %415)
(fma.f64 %20 #s(literal 1/4 binary64) %445)
(fma.f64 %20 #s(literal 1/4 binary64) %447)
(fma.f64 %20 #s(literal 1/4 binary64) %415)
(fma.f64 %24 #s(literal -1/4 binary64) %445)
(fma.f64 %24 #s(literal -1/4 binary64) %447)
(fma.f64 %24 #s(literal -1/4 binary64) %415)
(fma.f64 %28 #s(literal 1/4 binary64) %445)
(fma.f64 %28 #s(literal 1/4 binary64) %447)
(fma.f64 %28 #s(literal 1/4 binary64) %415)
(fma.f64 %30 #s(literal 8 binary64) %445)
(fma.f64 %30 #s(literal 8 binary64) %447)
(fma.f64 %30 #s(literal 8 binary64) %415)
(fma.f64 %30 #s(literal 2 binary64) %440)
(fma.f64 %30 #s(literal 2 binary64) %443)
(fma.f64 %33 #s(literal -1/2 binary64) %445)
(fma.f64 %33 #s(literal -1/2 binary64) %447)
(fma.f64 %33 #s(literal -1/2 binary64) %415)
(fma.f64 %27 #s(literal 1/8 binary64) %440)
(fma.f64 %27 #s(literal 1/8 binary64) %443)
(fma.f64 %27 #s(literal 1/2 binary64) %445)
(fma.f64 %27 #s(literal 1/2 binary64) %447)
(fma.f64 %27 #s(literal 1/2 binary64) %415)
(fma.f64 %37 #s(literal -4 binary64) %445)
(fma.f64 %37 #s(literal -4 binary64) %447)
(fma.f64 %37 #s(literal -4 binary64) %415)
(fma.f64 %37 #s(literal -1 binary64) %440)
(fma.f64 %37 #s(literal -1 binary64) %443)
(fma.f64 #s(literal -4 binary64) %37 %445)
(fma.f64 #s(literal -4 binary64) %37 %447)
(fma.f64 #s(literal -4 binary64) %37 %415)
(fma.f64 #s(literal 1/4 binary64) %12 %440)
(fma.f64 #s(literal 1/4 binary64) %12 %443)
(fma.f64 #s(literal 8 binary64) %30 %445)
(fma.f64 #s(literal 8 binary64) %30 %447)
(fma.f64 #s(literal 8 binary64) %30 %415)
(fma.f64 %5 #s(literal 4 binary64) %445)
(fma.f64 %5 #s(literal 4 binary64) %447)
(fma.f64 %5 #s(literal 4 binary64) %415)
(fma.f64 %5 #s(literal 1 binary64) %440)
(fma.f64 %5 #s(literal 1 binary64) %443)
(fma.f64 #s(literal 4 binary64) %5 %445)
(fma.f64 #s(literal 4 binary64) %5 %447)
(fma.f64 #s(literal 4 binary64) %5 %415)
(fma.f64 #s(literal -1/2 binary64) %33 %445)
(fma.f64 #s(literal -1/2 binary64) %33 %447)
(fma.f64 #s(literal -1/2 binary64) %33 %415)
(fma.f64 #s(literal -1/2 binary64) %47 %440)
(fma.f64 #s(literal -1/2 binary64) %47 %443)
(fma.f64 #s(literal 1/2 binary64) %27 %445)
(fma.f64 #s(literal 1/2 binary64) %27 %447)
(fma.f64 #s(literal 1/2 binary64) %27 %415)
(fma.f64 #s(literal 1/2 binary64) y %440)
(fma.f64 #s(literal 1/2 binary64) y %443)
(fma.f64 %412 #s(literal -3 binary64) %12)
(fma.f64 #s(literal -1 binary64) %37 %440)
(fma.f64 #s(literal -1 binary64) %37 %443)
(fma.f64 #s(literal -1 binary64) %23 %445)
(fma.f64 #s(literal -1 binary64) %23 %447)
(fma.f64 #s(literal -1 binary64) %23 %415)
(fma.f64 #s(literal -3 binary64) %412 %12)
(fma.f64 #s(literal -2 binary64) %47 %445)
(fma.f64 #s(literal -2 binary64) %47 %447)
(fma.f64 #s(literal -2 binary64) %47 %415)
(fma.f64 %23 #s(literal -1 binary64) %445)
(fma.f64 %23 #s(literal -1 binary64) %447)
(fma.f64 %23 #s(literal -1 binary64) %415)
(fma.f64 %47 #s(literal -1/2 binary64) %440)
(fma.f64 %47 #s(literal -1/2 binary64) %443)
(fma.f64 %47 #s(literal -2 binary64) %445)
(fma.f64 %47 #s(literal -2 binary64) %447)
(fma.f64 %47 #s(literal -2 binary64) %415)
(fma.f64 #s(literal 1 binary64) %5 %440)
(fma.f64 #s(literal 1 binary64) %5 %443)
(fma.f64 #s(literal 1 binary64) %425 y)
(fma.f64 #s(literal 1 binary64) %422 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %415 %12)
(fma.f64 #s(literal 1 binary64) %12 %445)
(fma.f64 #s(literal 1 binary64) %12 %447)
(fma.f64 #s(literal 1 binary64) %12 %415)
%422
(fma.f64 %12 #s(literal 1/4 binary64) %440)
(fma.f64 %12 #s(literal 1/4 binary64) %443)
(fma.f64 %12 #s(literal 1 binary64) %445)
(fma.f64 %12 #s(literal 1 binary64) %447)
(fma.f64 %12 #s(literal 1 binary64) %415)
(fma.f64 #s(literal 2 binary64) %30 %440)
(fma.f64 #s(literal 2 binary64) %30 %443)
(fma.f64 #s(literal 2 binary64) y %445)
(fma.f64 #s(literal 2 binary64) y %447)
(fma.f64 #s(literal 2 binary64) y %415)
(fma.f64 y #s(literal 1/2 binary64) %440)
(fma.f64 y #s(literal 1/2 binary64) %443)
(fma.f64 y #s(literal 2 binary64) %445)
(fma.f64 y #s(literal 2 binary64) %447)
(fma.f64 y #s(literal 2 binary64) %415)
(fma.f64 x #s(literal 3 binary64) %12)
(-.f64 (-.f64 %425 %37) %37)
(-.f64 %425 %47)
(-.f64 %422 #s(literal 0 binary64))
(-.f64 %415 %23)
(-.f64 %12 %409)
(-.f64 y %442)
(+.f64 (+.f64 %425 %5) %5)
(+.f64 %5 %440)
(+.f64 %5 %443)
(+.f64 %425 y)
(+.f64 %422 #s(literal 0 binary64))
(+.f64 %415 %12)
(+.f64 %12 %445)
(+.f64 %12 %447)
(+.f64 %12 %415)
(+.f64 y (+.f64 #s(literal 0 binary64) %425))
(+.f64 y (-.f64 #s(literal 0 binary64) %442))
(+.f64 y %425)
(*.f64 #s(literal 1 binary64) %583)
(pow.f64 %583 #s(literal 1 binary64))
%583
(/.f64 #s(literal 1 binary64) (pow.f64 %583 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %591)
(pow.f64 %591 #s(literal 1 binary64))
%591
(/.f64 #s(literal 1 binary64) (pow.f64 %591 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %598)
(pow.f64 %598 #s(literal 1 binary64))
%598
(/.f64 #s(literal 1 binary64) (pow.f64 %598 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %603)
(pow.f64 %603 #s(literal 1 binary64))
%603
(/.f64 #s(literal 1 binary64) (pow.f64 %603 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %608)
(pow.f64 %608 #s(literal 1 binary64))
%608
(/.f64 #s(literal 1 binary64) (pow.f64 %608 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %613)
(pow.f64 %613 #s(literal 1 binary64))
%613
(/.f64 #s(literal 1 binary64) (pow.f64 %613 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %618)
(pow.f64 %618 #s(literal 1 binary64))
%618
(/.f64 #s(literal 1 binary64) (pow.f64 %618 #s(literal -1 binary64)))

reconstruct83.0ms (3.9%)

Counts
725 → 58
Compiler

Compiled 725 to 678 computations (6.5% saved)

eval9.0ms (0.4%)

Compiler

Compiled 60 to 119 computations (-98.3% saved)

prune5.0ms (0.2%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New58260
Fresh000
Picked235
Done022
Total60767
Accuracy
100.0%
Counts
67 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
35.8%
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x)
36.3%
(approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x))
64.6%
(approx (+ (+ (* 3 x) z) (* 2 y)) (fma.f64 #s(literal 3 binary64) x z))
66.0%
(approx (+ (+ (* 2 y) z) (* 3 x)) (fma.f64 #s(literal 2 binary64) y z))
37.1%
%2 = (* 3 x)
%5 = (* 2 y)
(approx (+ (+ %5 z) %2) (approx (+ %2 %5) (+.f64 y y)))
71.0%
(approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 3 binary64) x (+.f64 y y)))
30.7%
%2 = (* 3 x)
(approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z))
Compiler

Compiled 7 to 11 computations (-57.1% saved)

regimes69.0ms (3.3%)

Accuracy

Total 58.8b remaining (40.1%)

Threshold costs 0.0b (0.0%)

18.7b52.1%
11.0b48.6%
6.7b68.8%
6.1b70.7%
5.9b67.0%

Counts
1 → 1
2 → 3
3 → 3
5 → 6
7 → 3
8 → 3
11 → 4
12 → 4
17 → 1
Calls
Call 1
Inputs
%2 = (* 3 x)
(approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z))
Outputs
%2 = (* 3 x)
(approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z))
Call 2
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
(approx (+ %2 %7) (approx (+ z %2) z))
(approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y)))
Outputs
%2 = (* 2 y)
%4 = (+ %2 z)
%7 = (* 3 x)
%12 = (approx (+ %4 %7) (approx (+ %7 %2) (+.f64 y y)))
%12
(approx (+ %7 %4) (approx (+ z %7) z))
%12
Call 3
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
(approx (+ %2 %7) (approx (+ z %2) z))
(approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y)))
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z %5) z)) x)
Outputs
%2 = (* 2 y)
%7 = (* 3 x)
%12 = (approx (+ (+ %2 z) %7) (approx (+ %7 %2) (+.f64 y y)))
%12
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z %2) z)) x)
%12
Call 4
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%20 = (+ (+ (+ (+ x y) y) x) z)
(approx %8 (approx (+ z %2) z))
(approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y)))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y)))
(approx (+ %20 x) (*.f64 #s(literal 3 binary64) x))
Outputs
%2 = (* 2 y)
%7 = (* 3 x)
%12 = (approx (+ (+ %2 z) %7) (approx (+ %7 %2) (+.f64 y y)))
%16 = (+ (+ (+ (+ x y) y) x) z)
%20 = (+.f64 (approx %16 (approx (+ z %2) z)) x)
%24 = (approx (+ %16 x) (*.f64 #s(literal 3 binary64) x))
%12
%20
%24
%20
%24
%12
Call 5
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%12 = (+ %7 %2)
%20 = (+ (+ (+ (+ x y) y) x) z)
%30 = (+ %20 x)
(approx %8 (approx (+ z %2) z))
(approx %12 (approx (+ %2 %5) (+.f64 y y)))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y)))
(approx %30 (*.f64 #s(literal 3 binary64) x))
(approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
(approx %12 (fma.f64 #s(literal 2 binary64) y z))
Outputs
%10 = (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x))
%10
(approx (+ (+ (* 2 y) z) (* 3 x)) (fma.f64 #s(literal 2 binary64) y z))
%10
Call 6
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%12 = (+ %7 %2)
%20 = (+ (+ (+ (+ x y) y) x) z)
%30 = (+ %20 x)
(approx %8 (approx (+ z %2) z))
(approx %12 (approx (+ %2 %5) (+.f64 y y)))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y)))
(approx %30 (*.f64 #s(literal 3 binary64) x))
(approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
(approx %12 (fma.f64 #s(literal 2 binary64) y z))
(approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z))
Outputs
%2 = (* 2 y)
%7 = (* 3 x)
%11 = (approx (+ (+ %2 z) %7) (fma.f64 #s(literal 2 binary64) y z))
%11
(approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z))
%11
Call 7
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%12 = (+ %7 %2)
%14 = (+.f64 y y)
%20 = (+ (+ (+ (+ x y) y) x) z)
%27 = (*.f64 #s(literal 2 binary64) y)
%30 = (+ %20 x)
%32 = (*.f64 #s(literal 3 binary64) x)
(approx %8 (approx (+ z %2) z))
(approx %12 (approx (+ %2 %5) %14))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) %27))
(approx %30 %32)
(approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
(approx %12 (fma.f64 #s(literal 2 binary64) y z))
(approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z))
(approx %8 (+.f64 z %27))
(approx %8 (+.f64 z %32))
(approx %8 (fma.f64 #s(literal 3 binary64) x %14))
Outputs
%2 = (* 2 y)
%4 = (+ %2 z)
%7 = (* 3 x)
%11 = (approx (+ %4 %7) (fma.f64 #s(literal 2 binary64) y z))
%11
(approx (+ %7 %4) (fma.f64 #s(literal 3 binary64) x (+.f64 y y)))
(approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z))
%11
Call 8
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%12 = (+ %7 %2)
%14 = (+.f64 y y)
%20 = (+ (+ (+ (+ x y) y) x) z)
%27 = (*.f64 #s(literal 2 binary64) y)
%30 = (+ %20 x)
%32 = (*.f64 #s(literal 3 binary64) x)
%38 = (fma.f64 #s(literal 2 binary64) y z)
(approx %8 (approx (+ z %2) z))
(approx %12 (approx (+ %2 %5) %14))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) %27))
(approx %30 %32)
(approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
(approx %12 %38)
(approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z))
(approx %8 (+.f64 z %27))
(approx %8 (+.f64 z %32))
(approx %8 (fma.f64 #s(literal 3 binary64) x %14))
(+.f64 (approx %20 %38) x)
Outputs
%2 = (* 2 y)
%4 = (+ %2 z)
%7 = (* 3 x)
%10 = (fma.f64 #s(literal 2 binary64) y z)
(approx (+ %4 %7) %10)
(approx (+ %7 %4) (fma.f64 #s(literal 3 binary64) x (+.f64 y y)))
(approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z))
(+.f64 (approx (+ (+ (+ (+ x y) y) x) z) %10) x)
Call 9
Inputs
%2 = (* 3 x)
%5 = (* 2 y)
%7 = (+ %5 z)
%8 = (+ %2 %7)
%12 = (+ %7 %2)
%14 = (+.f64 y y)
%19 = (+ (+ (+ x y) y) x)
%20 = (+ %19 z)
%27 = (*.f64 #s(literal 2 binary64) y)
%30 = (+ %20 x)
%32 = (*.f64 #s(literal 3 binary64) x)
%38 = (fma.f64 #s(literal 2 binary64) y z)
%44 = (+.f64 z %27)
(approx %8 (approx (+ z %2) z))
(approx %12 (approx (+ %2 %5) %14))
(+.f64 (approx %20 (approx (+ z %5) z)) x)
(approx %8 (approx (+ %5 %2) %27))
(approx %30 %32)
(approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64))))
(approx %12 %38)
(approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z))
(approx %8 %44)
(approx %8 (+.f64 z %32))
(approx %8 (fma.f64 #s(literal 3 binary64) x %14))
(+.f64 (approx %20 %38) x)
(+.f64 (+.f64 (approx %19 (+.f64 x x)) z) x)
(approx %8 (fma.f64 #s(literal 2 binary64) y %32))
(+.f64 (approx %20 %44) x)
(+.f64 (+.f64 (approx %19 (*.f64 #s(literal 2 binary64) x)) z) x)
(fma.f64 #s(literal 3 binary64) x %38)
Outputs
(fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z))
Calls

4 calls:

19.0ms
y
17.0ms
x
17.0ms
z
16.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
Results
AccuracySegmentsBranch
30.7%1
z
30.7%1
y
30.7%1
x
30.7%1
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x)
Compiler

Compiled 22 to 39 computations (-77.3% saved)

bsearch0.0ms (0.0%)

bsearch31.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
9.178439732671453e+119
2.863469434308484e+120
12.0ms
-5.0259291606181536e+89
-6.742668220036118e+82
8.0ms
-2.034826382675621e+177
-8.508382487259201e+176
Samples
12.0ms287×0valid
1.0ms14×1valid
0.0ms2valid
Compiler

Compiled 20 to 35 computations (-75.0% saved)

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

bsearch2.0ms (0.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
9.178439732671453e+119
2.863469434308484e+120
0.0ms
-5.0259291606181536e+89
-6.742668220036118e+82
0.0ms
-2.034826382675621e+177
-8.508382487259201e+176
Compiler

Compiled 20 to 34 computations (-70.0% saved)

bsearch14.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
9.178439732671453e+119
2.863469434308484e+120
14.0ms
-1.3553592856625129e-62
-8.429824474477093e-68
Samples
6.0ms135×0valid
0.0ms1valid
0.0ms2valid
Compiler

Compiled 18 to 26 computations (-44.4% saved)

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

bsearch28.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
1.9020764812184198e+93
5.047470767888099e+105
15.0ms
-5.92614486843435e+127
-4.0985376319167914e+124
Samples
12.0ms273×0valid
1.0ms14×1valid
0.0ms2valid
Compiler

Compiled 18 to 26 computations (-44.4% saved)

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

bsearch26.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
9.178439732671453e+119
2.863469434308484e+120
12.0ms
7.258619132602248e-169
1.2564824626374914e-156
9.0ms
-2.0371889702046085e-252
-8.587998524449204e-253
8.0ms
-3.1789006437251225e-121
-2.1631561410946913e-122
0.0ms
-5.0259291606181536e+89
-6.742668220036118e+82
Samples
11.0ms318×0valid
1.0ms15×1valid
0.0ms2valid
Compiler

Compiled 24 to 37 computations (-54.2% saved)

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

bsearch11.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
7.350441746091948e+110
7.049565107132657e+112
0.0ms
-5.0259291606181536e+89
-6.742668220036118e+82
Samples
3.0ms105×0valid
0.0ms1valid
0.0ms2valid
Compiler

Compiled 18 to 22 computations (-22.2% saved)

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

bsearch32.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
7.350441746091948e+110
7.049565107132657e+112
36.0ms
-6.742668220036118e+82
-3.452883268481648e+79
Samples
30.0ms116×0valid
0.0ms10×1valid
0.0ms3valid
Compiler

Compiled 18 to 18 computations (0.0% saved)

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

bsearch0.0ms (0.0%)

derivations165.0ms (7.8%)

Stop Event
fuel
Compiler

Compiled 9 to 53 computations (-488.9% saved)

preprocess135.0ms (6.4%)

Compiler

Compiled 10 to 61 computations (-510.0% saved)

end0.0ms (0.0%)

gc504ms (23.8%)

Allocations
AllocatedPercentPhase
792.9 MiB31.2%rewrite
439.0 MiB17.3%sample
386.3 MiB15.2%reconstruct
240.9 MiB9.5%bsearch
176.4 MiB6.9%series
162.9 MiB6.4%preprocess
125.5 MiB4.9%regimes
102.9 MiB4.1%derivations
84.5 MiB3.3%eval
27.7 MiB1.1%prune
0.1 MiB0.0%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
2 539.2 MiB100.0%total

Profiling

Loading profile data...