Examples.Basics.ProofTests:f4 from sbv-4.4

Time bar (total: 1.1s)

start0.0ms (0.0%)

analyze-1.0ms (-0.1%)

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 15 to 11 computations (26.7% saved)

sample319.0ms (28.4%)

Samples
198.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 11.0ms
Mul: 8.0ms (70.6% of total, 0.0 MiB)
Add: 3.0ms (26.5% of total, 0.0 MiB)
Bogosity

preprocess26.0ms (2.3%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02684
115168
255732
3133432
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.7%
(+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y))
Symmetry

(sort x y)

Compiler

Compiled 2 to 18 computations (-800.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
083364
Stop Event
iter-limit
Counts
9 → 20
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (*.f64 x #s(literal 2 binary64))
%5 = (*.f64 %3 y)
%6 = (+.f64 %1 %5)
%7 = (*.f64 y y)
x
%1
#s(literal 2 binary64)
%3
y
%5
%6
%7
(+.f64 %6 %7)
Outputs
%4 = (* x x)
%6 = (pow.f64 x #s(literal 2 binary64))
%9 = (* x 2)
%10 = (*.f64 #s(literal 2 binary64) x)
%13 = (* %9 y)
%14 = (*.f64 x y)
%17 = (+ %4 %13)
%19 = (+.f64 x (*.f64 #s(literal 2 binary64) y))
%23 = (+ %17 (* y y))
%24 = (pow.f64 y #s(literal 2 binary64))
%31 = (/.f64 y x)
%57 = (/.f64 %6 y)
%61 = (/.f64 x y)
%72 = (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) %57))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %4 %6)
(approx %9 %10)
(approx %13 (*.f64 #s(literal 2 binary64) %14))
(approx %17 (*.f64 x %19))
(approx %23 %24)
(approx %23 (fma.f64 #s(literal 2 binary64) %14 %24))
(approx %23 (fma.f64 x %19 %24))
(approx %17 (*.f64 %6 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %31))))
(approx %23 (*.f64 %6 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %31 (/.f64 %24 %6)))))
(approx %23 (*.f64 %6 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %24 x))) x)))))
(approx y y)
(approx %17 (fma.f64 #s(literal 2 binary64) %14 %6))
(approx %23 (fma.f64 y (+.f64 y %10) %6))
(approx %17 (*.f64 y (fma.f64 #s(literal 2 binary64) x %57)))
(approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %61))))
(approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %61 (/.f64 %6 %24)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y %72)))
(approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %72 y)))))
Calls

6 calls:

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

rewrite92.0ms (8.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0939
01539
15335
219829
368029
4224729
0488529
0517228
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 495
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (*.f64 x #s(literal 2 binary64))
%5 = (*.f64 %3 y)
%6 = (+.f64 %1 %5)
%7 = (*.f64 y y)
x
%1
#s(literal 2 binary64)
%3
y
%5
%6
%7
(+.f64 %6 %7)
Outputs
%1 = (+.f64 x x)
%2 = (*.f64 x %1)
%5 = (fabs.f64 x)
%6 = (sqrt.f64 %5)
%7 = (*.f64 %6 %5)
%9 = (*.f64 %1 %1)
%13 = (*.f64 #s(literal 1/2 binary64) x)
%14 = (*.f64 %13 %13)
%17 = (neg.f64 %5)
%20 = (neg.f64 x)
%23 = (*.f64 x x)
%27 = (*.f64 %13 x)
%35 = (*.f64 %23 %23)
%58 = (*.f64 %20 x)
%63 = (*.f64 %20 %17)
%66 = (*.f64 x %17)
%69 = (*.f64 %20 %5)
%72 = (*.f64 x %5)
%75 = (*.f64 %17 %20)
%78 = (*.f64 %5 %20)
%81 = (*.f64 %17 x)
%84 = (*.f64 %5 x)
%153 = (*.f64 x #s(literal 4 binary64))
%155 = (*.f64 %1 #s(literal 2 binary64))
%157 = (*.f64 #s(literal 2 binary64) %1)
%161 = (*.f64 #s(literal 4 binary64) x)
%164 = (fma.f64 #s(literal 2 binary64) x %1)
%167 = (*.f64 #s(literal -2 binary64) x)
%172 = (*.f64 #s(literal -1 binary64) %20)
%183 = (*.f64 %1 #s(literal 0 binary64))
%185 = (*.f64 #s(literal 0 binary64) %1)
%223 = (*.f64 y x)
%224 = (*.f64 %223 #s(literal 4 binary64))
%226 = (+.f64 y y)
%227 = (*.f64 %226 %1)
%229 = (*.f64 %226 #s(literal 2 binary64))
%231 = (*.f64 y %1)
%232 = (*.f64 %231 #s(literal 2 binary64))
%234 = (*.f64 %223 #s(literal 1/2 binary64))
%236 = (neg.f64 y)
%237 = (*.f64 %236 %20)
%239 = (*.f64 %20 %236)
%241 = (*.f64 #s(literal 1/2 binary64) %223)
%243 = (*.f64 %20 y)
%246 = (*.f64 #s(literal 4 binary64) %223)
%249 = (*.f64 #s(literal -2 binary64) y)
%252 = (*.f64 %236 #s(literal 1 binary64))
%260 = (*.f64 %13 %226)
%269 = (*.f64 %223 #s(literal -2 binary64))
%271 = (*.f64 %231 #s(literal 0 binary64))
%273 = (*.f64 #s(literal 0 binary64) %231)
%324 = (*.f64 #s(literal 1/2 binary64) y)
%330 = (*.f64 %13 y)
%348 = (fma.f64 y #s(literal 2 binary64) x)
%349 = (*.f64 %348 #s(literal 1 binary64))
%351 = (*.f64 %348 %1)
%353 = (*.f64 %348 #s(literal 2 binary64))
%355 = (-.f64 %249 x)
%357 = (*.f64 %348 x)
%361 = (*.f64 #s(literal 1/2 binary64) %348)
%363 = (*.f64 %13 %348)
%369 = (*.f64 %355 x)
%378 = (fma.f64 y x %23)
%380 = (-.f64 %223 %58)
%382 = (+.f64 y x)
%383 = (*.f64 x %382)
%385 = (*.f64 %382 x)
%475 = (fabs.f64 y)
%476 = (sqrt.f64 %475)
%477 = (*.f64 %476 %475)
%480 = (neg.f64 %475)
%484 = (*.f64 y y)
%488 = (*.f64 %484 %484)
%508 = (*.f64 %236 y)
%529 = (-.f64 %20 y)
%531 = (*.f64 %382 %382)
%547 = (fma.f64 y y %23)
%550 = (fma.f64 #s(literal 2 binary64) x y)
%551 = (*.f64 %550 y)
%558 = (fma.f64 y x %547)
%560 = (neg.f64 %547)
%561 = (-.f64 %223 %560)
%594 = (-.f64 %167 y)
x
(*.f64 %2 #s(literal 1/2 binary64))
(*.f64 %7 %6)
(*.f64 %9 #s(literal 1/4 binary64))
(*.f64 #s(literal 4 binary64) %14)
(*.f64 %6 %7)
(*.f64 %17 %17)
(*.f64 %5 %5)
(*.f64 %20 %20)
(*.f64 #s(literal 1 binary64) %23)
(*.f64 %1 %13)
(*.f64 #s(literal 2 binary64) %27)
(*.f64 %23 #s(literal 1 binary64))
%23
(pow.f64 (*.f64 %17 #s(literal 1 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %35 #s(literal 1/2 binary64))
(pow.f64 %6 #s(literal 4 binary64))
(pow.f64 %17 #s(literal 2 binary64))
(pow.f64 %5 #s(literal 2 binary64))
(pow.f64 %20 #s(literal 2 binary64))
(pow.f64 %23 #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %35 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %23 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(neg.f64 %58)
(sqrt.f64 (*.f64 %35 #s(literal 1 binary64)))
(sqrt.f64 %35)
(fabs.f64 (*.f64 #s(literal -1 binary64) %63))
(fabs.f64 (*.f64 #s(literal -1 binary64) %66))
(fabs.f64 (*.f64 #s(literal -1 binary64) %69))
(fabs.f64 (*.f64 #s(literal -1 binary64) %72))
(fabs.f64 (*.f64 #s(literal -1 binary64) %75))
(fabs.f64 (*.f64 #s(literal -1 binary64) %78))
(fabs.f64 (*.f64 #s(literal -1 binary64) %81))
(fabs.f64 (*.f64 #s(literal -1 binary64) %84))
(fabs.f64 (*.f64 #s(literal -1 binary64) %58))
(fabs.f64 (*.f64 #s(literal -1 binary64) %23))
(fabs.f64 (*.f64 #s(literal 1 binary64) %63))
(fabs.f64 (*.f64 #s(literal 1 binary64) %66))
(fabs.f64 (*.f64 #s(literal 1 binary64) %69))
(fabs.f64 (*.f64 #s(literal 1 binary64) %72))
(fabs.f64 (*.f64 #s(literal 1 binary64) %75))
(fabs.f64 (*.f64 #s(literal 1 binary64) %78))
(fabs.f64 (*.f64 #s(literal 1 binary64) %81))
(fabs.f64 (*.f64 #s(literal 1 binary64) %84))
(fabs.f64 (*.f64 %63 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %63 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %66 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %66 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %69 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %69 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %72 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %72 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %75 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %75 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %78 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %78 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %81 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %81 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %84 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %84 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %58 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %23 #s(literal -1 binary64)))
(fabs.f64 %63)
(fabs.f64 %66)
(fabs.f64 %69)
(fabs.f64 %72)
(fabs.f64 %75)
(fabs.f64 %78)
(fabs.f64 %81)
(fabs.f64 %84)
(fabs.f64 %58)
(fabs.f64 %23)
#s(literal 2 binary64)
(*.f64 %153 #s(literal 1/2 binary64))
(*.f64 %155 #s(literal 1/2 binary64))
(*.f64 %157 #s(literal 1/2 binary64))
(*.f64 %13 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %13)
(*.f64 #s(literal 1/2 binary64) %161)
(*.f64 #s(literal 1/2 binary64) %157)
(*.f64 #s(literal 1/2 binary64) %164)
(*.f64 #s(literal -2 binary64) %20)
(*.f64 %167 #s(literal -1 binary64))
(*.f64 %20 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %1)
(*.f64 %1 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %172)
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(pow.f64 %1 #s(literal 1 binary64))
(/.f64 %155 #s(literal 2 binary64))
(/.f64 %157 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -1 binary64)))
(neg.f64 %167)
(fma.f64 %153 #s(literal 1/2 binary64) %183)
(fma.f64 %153 #s(literal 1/2 binary64) %185)
(fma.f64 %155 #s(literal 1/2 binary64) %183)
(fma.f64 %155 #s(literal 1/2 binary64) %185)
(fma.f64 %157 #s(literal 1/2 binary64) %183)
(fma.f64 %157 #s(literal 1/2 binary64) %185)
(fma.f64 %13 #s(literal 4 binary64) %183)
(fma.f64 %13 #s(literal 4 binary64) %185)
(fma.f64 #s(literal 4 binary64) %13 %183)
(fma.f64 #s(literal 4 binary64) %13 %185)
(fma.f64 #s(literal 1/2 binary64) %161 %183)
(fma.f64 #s(literal 1/2 binary64) %161 %185)
(fma.f64 #s(literal 1/2 binary64) %157 %183)
(fma.f64 #s(literal 1/2 binary64) %157 %185)
(fma.f64 #s(literal 1/2 binary64) %164 %183)
(fma.f64 #s(literal 1/2 binary64) %164 %185)
(fma.f64 #s(literal -2 binary64) %20 %183)
(fma.f64 #s(literal -2 binary64) %20 %185)
(fma.f64 #s(literal -1 binary64) %20 %172)
(fma.f64 %167 #s(literal -1 binary64) %183)
(fma.f64 %167 #s(literal -1 binary64) %185)
(fma.f64 %20 #s(literal -2 binary64) %183)
(fma.f64 %20 #s(literal -2 binary64) %185)
(fma.f64 #s(literal 1 binary64) %1 %183)
(fma.f64 #s(literal 1 binary64) %1 %185)
(fma.f64 %1 #s(literal 1 binary64) %183)
(fma.f64 %1 #s(literal 1 binary64) %185)
(fma.f64 #s(literal 2 binary64) %172 %183)
(fma.f64 #s(literal 2 binary64) %172 %185)
(fma.f64 #s(literal 2 binary64) x %183)
(fma.f64 #s(literal 2 binary64) x %185)
(fma.f64 x #s(literal 2 binary64) %183)
(fma.f64 x #s(literal 2 binary64) %185)
(-.f64 x %20)
(+.f64 %172 %172)
(+.f64 %1 %183)
(+.f64 %1 %185)
%1
y
(*.f64 %224 #s(literal 1/2 binary64))
(*.f64 %227 #s(literal 1/2 binary64))
(*.f64 %229 %13)
(*.f64 %232 #s(literal 1/2 binary64))
(*.f64 %234 #s(literal 4 binary64))
(*.f64 %237 #s(literal 2 binary64))
(*.f64 %239 #s(literal 2 binary64))
(*.f64 #s(literal 4 binary64) %241)
(*.f64 %243 #s(literal -2 binary64))
(*.f64 %223 #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) %246)
(*.f64 #s(literal -2 binary64) %243)
(*.f64 %249 %20)
(*.f64 %226 x)
(*.f64 %167 %252)
(*.f64 %167 %236)
(*.f64 %20 %249)
(*.f64 %236 %167)
(*.f64 #s(literal 1 binary64) %231)
(*.f64 %231 #s(literal 1 binary64))
%231
(*.f64 %1 y)
(*.f64 #s(literal 2 binary64) %260)
(*.f64 #s(literal 2 binary64) %239)
(*.f64 #s(literal 2 binary64) %223)
(*.f64 x %226)
(pow.f64 %231 #s(literal 1 binary64))
(/.f64 %232 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %231 #s(literal -1 binary64)))
(neg.f64 %269)
(fma.f64 %224 #s(literal 1/2 binary64) %271)
(fma.f64 %224 #s(literal 1/2 binary64) %273)
(fma.f64 %227 #s(literal 1/2 binary64) %271)
(fma.f64 %227 #s(literal 1/2 binary64) %273)
(fma.f64 %229 %13 %271)
(fma.f64 %229 %13 %273)
(fma.f64 %232 #s(literal 1/2 binary64) %271)
(fma.f64 %232 #s(literal 1/2 binary64) %273)
(fma.f64 %234 #s(literal 4 binary64) %271)
(fma.f64 %234 #s(literal 4 binary64) %273)
(fma.f64 %234 #s(literal 2 binary64) %223)
(fma.f64 %237 #s(literal 2 binary64) %271)
(fma.f64 %237 #s(literal 2 binary64) %273)
(fma.f64 %239 #s(literal 2 binary64) %271)
(fma.f64 %239 #s(literal 2 binary64) %273)
(fma.f64 #s(literal 4 binary64) %241 %271)
(fma.f64 #s(literal 4 binary64) %241 %273)
(fma.f64 %243 #s(literal -2 binary64) %271)
(fma.f64 %243 #s(literal -2 binary64) %273)
(fma.f64 %223 #s(literal 1 binary64) %223)
(fma.f64 %223 #s(literal 2 binary64) %271)
(fma.f64 %223 #s(literal 2 binary64) %273)
(fma.f64 #s(literal 1/2 binary64) %246 %271)
(fma.f64 #s(literal 1/2 binary64) %246 %273)
(fma.f64 #s(literal 1/2 binary64) %231 %223)
(fma.f64 #s(literal -2 binary64) %243 %271)
(fma.f64 #s(literal -2 binary64) %243 %273)
(fma.f64 %249 %20 %271)
(fma.f64 %249 %20 %273)
(fma.f64 %226 %13 %223)
(fma.f64 %226 x %271)
(fma.f64 %226 x %273)
(fma.f64 %167 %252 %271)
(fma.f64 %167 %252 %273)
(fma.f64 %167 %236 %271)
(fma.f64 %167 %236 %273)
(fma.f64 %20 %249 %271)
(fma.f64 %20 %249 %273)
(fma.f64 %20 %236 %239)
(fma.f64 %236 %167 %271)
(fma.f64 %236 %167 %273)
(fma.f64 %236 %20 %237)
(fma.f64 #s(literal 1 binary64) %223 %223)
(fma.f64 #s(literal 1 binary64) %231 %271)
(fma.f64 #s(literal 1 binary64) %231 %273)
(fma.f64 %231 #s(literal 1/2 binary64) %223)
(fma.f64 %231 #s(literal 1 binary64) %271)
(fma.f64 %231 #s(literal 1 binary64) %273)
(fma.f64 y %1 %271)
(fma.f64 y %1 %273)
(fma.f64 y x %223)
(fma.f64 %1 %324 %223)
(fma.f64 %1 y %271)
(fma.f64 %1 y %273)
(fma.f64 #s(literal 2 binary64) %260 %271)
(fma.f64 #s(literal 2 binary64) %260 %273)
(fma.f64 #s(literal 2 binary64) %330 %223)
(fma.f64 #s(literal 2 binary64) %241 %223)
(fma.f64 #s(literal 2 binary64) %239 %271)
(fma.f64 #s(literal 2 binary64) %239 %273)
(fma.f64 #s(literal 2 binary64) %223 %271)
(fma.f64 #s(literal 2 binary64) %223 %273)
(fma.f64 x %226 %271)
(fma.f64 x %226 %273)
(fma.f64 x y %223)
(-.f64 %223 (*.f64 #s(literal -1 binary64) %223))
(-.f64 %223 %243)
(+.f64 %237 %237)
(+.f64 %239 %239)
(+.f64 %223 %223)
(+.f64 %231 %271)
(+.f64 %231 %273)
(*.f64 %349 x)
(*.f64 %351 #s(literal 1/2 binary64))
(*.f64 %353 %13)
(*.f64 %355 %20)
%357
(*.f64 %20 %355)
(*.f64 #s(literal 1 binary64) %357)
(*.f64 %357 #s(literal 1 binary64))
(*.f64 %1 %361)
(*.f64 #s(literal 2 binary64) %363)
(*.f64 x %348)
(pow.f64 %357 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %357 #s(literal -1 binary64)))
(neg.f64 %369)
(fma.f64 %224 #s(literal 1/2 binary64) %23)
(fma.f64 %227 #s(literal 1/2 binary64) %23)
(fma.f64 %2 #s(literal 1/2 binary64) %231)
(fma.f64 %7 %6 %231)
(fma.f64 %229 %13 %23)
(fma.f64 %232 #s(literal 1/2 binary64) %23)
(fma.f64 %234 #s(literal 4 binary64) %23)
(fma.f64 %234 #s(literal 2 binary64) %378)
(fma.f64 %234 #s(literal 2 binary64) %380)
(fma.f64 %234 #s(literal 2 binary64) %383)
(fma.f64 %234 #s(literal 2 binary64) %385)
(fma.f64 %237 #s(literal 2 binary64) %23)
(fma.f64 %239 #s(literal 2 binary64) %23)
(fma.f64 %9 #s(literal 1/4 binary64) %231)
(fma.f64 #s(literal 4 binary64) %241 %23)
(fma.f64 #s(literal 4 binary64) %14 %231)
(fma.f64 %243 #s(literal -2 binary64) %23)
(fma.f64 %382 x %223)
(fma.f64 %6 %7 %231)
(fma.f64 %223 #s(literal 1 binary64) %378)
(fma.f64 %223 #s(literal 1 binary64) %380)
(fma.f64 %223 #s(literal 1 binary64) %383)
(fma.f64 %223 #s(literal 1 binary64) %385)
(fma.f64 %223 #s(literal 2 binary64) %23)
(fma.f64 #s(literal 1/2 binary64) %246 %23)
(fma.f64 #s(literal 1/2 binary64) %231 %378)
(fma.f64 #s(literal 1/2 binary64) %231 %380)
(fma.f64 #s(literal 1/2 binary64) %231 %383)
(fma.f64 #s(literal 1/2 binary64) %231 %385)
(fma.f64 #s(literal -2 binary64) %243 %23)
(fma.f64 %249 %20 %23)
(fma.f64 %17 %17 %231)
(fma.f64 %226 %13 %378)
(fma.f64 %226 %13 %380)
(fma.f64 %226 %13 %383)
(fma.f64 %226 %13 %385)
(fma.f64 %226 x %23)
(fma.f64 %167 %252 %23)
(fma.f64 %167 %236 %23)
(fma.f64 %5 %5 %231)
(fma.f64 %20 %249 %23)
(fma.f64 %20 %20 %231)
(fma.f64 %236 %167 %23)
(fma.f64 #s(literal 1 binary64) %223 %378)
(fma.f64 #s(literal 1 binary64) %223 %380)
(fma.f64 #s(literal 1 binary64) %223 %383)
(fma.f64 #s(literal 1 binary64) %223 %385)
(fma.f64 #s(literal 1 binary64) %231 %23)
(fma.f64 #s(literal 1 binary64) %23 %231)
(fma.f64 %231 #s(literal 1/2 binary64) %378)
(fma.f64 %231 #s(literal 1/2 binary64) %380)
(fma.f64 %231 #s(literal 1/2 binary64) %383)
(fma.f64 %231 #s(literal 1/2 binary64) %385)
(fma.f64 %231 #s(literal 1 binary64) %23)
(fma.f64 y %1 %23)
(fma.f64 y x %378)
(fma.f64 y x %380)
(fma.f64 y x %383)
(fma.f64 y x %385)
(fma.f64 %1 %324 %378)
(fma.f64 %1 %324 %380)
(fma.f64 %1 %324 %383)
(fma.f64 %1 %324 %385)
(fma.f64 %1 %13 %231)
(fma.f64 %1 y %23)
(fma.f64 #s(literal 2 binary64) %260 %23)
(fma.f64 #s(literal 2 binary64) %330 %378)
(fma.f64 #s(literal 2 binary64) %330 %380)
(fma.f64 #s(literal 2 binary64) %330 %383)
(fma.f64 #s(literal 2 binary64) %330 %385)
(fma.f64 #s(literal 2 binary64) %27 %231)
(fma.f64 #s(literal 2 binary64) %241 %378)
(fma.f64 #s(literal 2 binary64) %241 %380)
(fma.f64 #s(literal 2 binary64) %241 %383)
(fma.f64 #s(literal 2 binary64) %241 %385)
(fma.f64 #s(literal 2 binary64) %239 %23)
(fma.f64 #s(literal 2 binary64) %223 %23)
(fma.f64 %23 #s(literal 1 binary64) %231)
(fma.f64 x %382 %223)
(fma.f64 x %226 %23)
(fma.f64 x y %378)
(fma.f64 x y %380)
(fma.f64 x y %383)
(fma.f64 x y %385)
(fma.f64 x x %231)
(-.f64 (-.f64 %23 %243) %243)
(-.f64 %231 %58)
(-.f64 %23 %269)
(+.f64 (fma.f64 x x %223) %223)
(+.f64 %383 %223)
(+.f64 %385 %223)
(+.f64 %223 %378)
(+.f64 %223 %380)
(+.f64 %223 %383)
(+.f64 %223 %385)
(+.f64 %231 %23)
(+.f64 %23 %231)
(*.f64 %477 %476)
(*.f64 %476 %477)
(*.f64 %480 %480)
(*.f64 %475 %475)
(*.f64 %236 %236)
(*.f64 #s(literal 1 binary64) %484)
%484
(pow.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %488 #s(literal 1/2 binary64))
(pow.f64 %476 #s(literal 4 binary64))
(pow.f64 %480 #s(literal 2 binary64))
(pow.f64 %475 #s(literal 2 binary64))
(pow.f64 %236 #s(literal 2 binary64))
(pow.f64 %484 #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %488 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %480 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %475 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %236 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %484 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(neg.f64 %508)
(sqrt.f64 %488)
(fabs.f64 (*.f64 %236 %480))
(fabs.f64 (*.f64 y %480))
(fabs.f64 (*.f64 %236 %475))
(fabs.f64 (*.f64 y %475))
(fabs.f64 (*.f64 %480 %236))
(fabs.f64 (*.f64 %475 %236))
(fabs.f64 (*.f64 %480 y))
(fabs.f64 (*.f64 %475 y))
(fabs.f64 %508)
(fabs.f64 %484)
(*.f64 %529 %529)
%531
(*.f64 #s(literal 1 binary64) %531)
(pow.f64 %529 #s(literal 2 binary64))
(pow.f64 %382 #s(literal 2 binary64))
(pow.f64 %531 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %529 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %382 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %531 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %531))
(fma.f64 %349 x %484)
(fma.f64 %351 #s(literal 1/2 binary64) %484)
(fma.f64 %353 %13 %484)
(fma.f64 %224 #s(literal 1/2 binary64) %547)
(fma.f64 %227 #s(literal 1/2 binary64) %547)
(fma.f64 %2 #s(literal 1/2 binary64) %551)
(fma.f64 %7 %6 %551)
(fma.f64 %477 %476 %357)
(fma.f64 %229 %13 %547)
(fma.f64 %232 #s(literal 1/2 binary64) %547)
(fma.f64 %234 #s(literal 4 binary64) %547)
(fma.f64 %234 #s(literal 2 binary64) %558)
(fma.f64 %234 #s(literal 2 binary64) %561)
(fma.f64 %237 #s(literal 2 binary64) %547)
(fma.f64 %239 #s(literal 2 binary64) %547)
(fma.f64 %9 #s(literal 1/4 binary64) %551)
(fma.f64 #s(literal 4 binary64) %241 %547)
(fma.f64 #s(literal 4 binary64) %14 %551)
(fma.f64 %355 %20 %484)
(fma.f64 %243 #s(literal -2 binary64) %547)
(fma.f64 %476 %477 %357)
(fma.f64 %6 %7 %551)
(fma.f64 %223 #s(literal 1 binary64) %558)
(fma.f64 %223 #s(literal 1 binary64) %561)
(fma.f64 %223 #s(literal 2 binary64) %547)
(fma.f64 #s(literal 1/2 binary64) %246 %547)
(fma.f64 #s(literal 1/2 binary64) %231 %558)
(fma.f64 #s(literal 1/2 binary64) %231 %561)
(fma.f64 %348 x %484)
(fma.f64 %550 y %23)
(fma.f64 #s(literal -2 binary64) %243 %547)
(fma.f64 %249 %20 %547)
(fma.f64 %17 %17 %551)
(fma.f64 %480 %480 %357)
(fma.f64 %226 %13 %558)
(fma.f64 %226 %13 %561)
(fma.f64 %226 x %547)
(fma.f64 %167 %252 %547)
(fma.f64 %167 %236 %547)
(fma.f64 %5 %5 %551)
(fma.f64 %475 %475 %357)
(fma.f64 %20 %355 %484)
(fma.f64 %20 %249 %547)
(fma.f64 %20 %20 %551)
(fma.f64 %236 %594 %23)
(fma.f64 %236 %167 %547)
(fma.f64 %236 %236 %357)
(fma.f64 #s(literal 1 binary64) %547 %231)
(fma.f64 #s(literal 1 binary64) %223 %558)
(fma.f64 #s(literal 1 binary64) %223 %561)
(fma.f64 #s(literal 1 binary64) %551 %23)
(fma.f64 #s(literal 1 binary64) %484 %357)
(fma.f64 #s(literal 1 binary64) %357 %484)
(fma.f64 #s(literal 1 binary64) %231 %547)
(fma.f64 #s(literal 1 binary64) %23 %551)
(fma.f64 %357 #s(literal 1 binary64) %484)
(fma.f64 %231 #s(literal 1/2 binary64) %558)
(fma.f64 %231 #s(literal 1/2 binary64) %561)
(fma.f64 %231 #s(literal 1 binary64) %547)
(fma.f64 y %550 %23)
(fma.f64 y y %357)
(fma.f64 y %1 %547)
(fma.f64 y x %558)
(fma.f64 y x %561)
(fma.f64 %1 %361 %484)
(fma.f64 %1 %324 %558)
(fma.f64 %1 %324 %561)
(fma.f64 %1 %13 %551)
(fma.f64 %1 y %547)
(fma.f64 #s(literal 2 binary64) %363 %484)
(fma.f64 #s(literal 2 binary64) %260 %547)
(fma.f64 #s(literal 2 binary64) %330 %558)
(fma.f64 #s(literal 2 binary64) %330 %561)
(fma.f64 #s(literal 2 binary64) %27 %551)
(fma.f64 #s(literal 2 binary64) %241 %558)
(fma.f64 #s(literal 2 binary64) %241 %561)
(fma.f64 #s(literal 2 binary64) %239 %547)
(fma.f64 #s(literal 2 binary64) %223 %547)
(fma.f64 %23 #s(literal 1 binary64) %551)
(fma.f64 x %348 %484)
(fma.f64 x %226 %547)
(fma.f64 x y %558)
(fma.f64 x y %561)
(fma.f64 x x %551)
(-.f64 (-.f64 %547 %243) %243)
(-.f64 %547 %269)
(-.f64 %551 %58)
(-.f64 %484 %369)
(-.f64 %357 %508)
(-.f64 %231 %560)
(-.f64 %23 (*.f64 %594 y))
(+.f64 (+.f64 %547 %223) %223)
(+.f64 %547 %231)
(+.f64 %223 %558)
(+.f64 %223 %561)
(+.f64 %551 %23)
(+.f64 %484 %357)
(+.f64 %357 %484)
(+.f64 %231 %547)
(+.f64 %23 %551)

reconstruct56.0ms (5.0%)

Counts
515 → 84
Compiler

Compiled 515 to 698 computations (-35.5% saved)

eval7.0ms (0.6%)

Compiler

Compiled 80 to 254 computations (-217.5% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New78280
Fresh000
Picked101
Done000
Total79281
Accuracy
100.0%
Counts
81 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y))
100.0%
%2 = (+.f64 y x)
(*.f64 %2 %2)
Compiler

Compiled 2 to 8 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series11.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0114446
Stop Event
iter-limit
Counts
8 → 30
Calls
Call 1
Inputs
%3 = (+.f64 y x)
%5 = (fma.f64 #s(literal 2 binary64) x y)
%6 = (*.f64 %5 y)
x
#s(literal 2 binary64)
y
%3
(*.f64 %3 %3)
%5
%6
(fma.f64 x x %6)
Outputs
%5 = (+ y x)
%9 = (* %5 %5)
%11 = (pow.f64 y #s(literal 2 binary64))
%13 = (*.f64 x y)
%22 = (+ (* 2 x) y)
%23 = (*.f64 #s(literal 2 binary64) x)
%24 = (+.f64 y %23)
%27 = (/.f64 y x)
%31 = (pow.f64 x #s(literal 2 binary64))
%46 = (* %22 y)
%49 = (/.f64 %11 x)
%54 = (*.f64 #s(literal -1 binary64) %27)
%61 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %49))
%80 = (/.f64 x y)
%85 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %80))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 y)
(approx %5 (+.f64 x y))
(approx %9 %11)
(approx %9 (fma.f64 #s(literal 2 binary64) %13 %11))
(approx %9 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %11))
(approx %22 %24)
(approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %27)))
(approx %9 %31)
(approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %27))))
(approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %27 (/.f64 %11 %31)))))
(approx %22 %23)
(approx %22 (*.f64 x (+.f64 #s(literal 2 binary64) %27)))
(approx %46 (*.f64 #s(literal 2 binary64) %13))
(approx %46 (*.f64 x (fma.f64 #s(literal 2 binary64) y %49)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %54 #s(literal 1 binary64)))))
(approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %61 x)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %54 #s(literal 2 binary64)))))
(approx %46 (*.f64 #s(literal -1 binary64) (*.f64 x %61)))
(approx %9 (fma.f64 #s(literal 2 binary64) %13 %31))
(approx %9 (fma.f64 y %24 %31))
(approx %46 (*.f64 y %24))
(approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %80)))
(approx %9 (*.f64 %11 %85))
(approx %9 (*.f64 %11 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %80 (/.f64 %31 %11)))))
(approx %22 (*.f64 y %85))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %80) #s(literal 1 binary64)))))
(approx %9 (*.f64 %11 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %31 y))) y)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %80) #s(literal 1 binary64)))))
Calls

6 calls:

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

rewrite99.0ms (8.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
01526
15726
220326
378726
4264626
0401926
0434126
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 406
Calls
Call 1
Inputs
%3 = (+.f64 y x)
%5 = (fma.f64 #s(literal 2 binary64) x y)
%6 = (*.f64 %5 y)
x
#s(literal 2 binary64)
y
%3
(*.f64 %3 %3)
%5
%6
(fma.f64 x x %6)
Outputs
%4 = (+.f64 y x)
%10 = (neg.f64 %4)
%12 = (neg.f64 x)
%14 = (neg.f64 y)
%17 = (fabs.f64 %4)
%18 = (sqrt.f64 %17)
%19 = (*.f64 %18 %17)
%20 = (*.f64 %19 %18)
%21 = (*.f64 %18 %19)
%22 = (neg.f64 %17)
%23 = (*.f64 %22 %22)
%24 = (*.f64 %17 %17)
%25 = (*.f64 %10 %10)
%26 = (*.f64 %4 %4)
%27 = (*.f64 #s(literal 1 binary64) %26)
%31 = (pow.f64 (pow.f64 %4 #s(literal 8 binary64)) #s(literal 1/4 binary64))
%32 = (*.f64 %26 %26)
%34 = (pow.f64 %32 #s(literal 1/2 binary64))
%36 = (pow.f64 %18 #s(literal 4 binary64))
%37 = (pow.f64 %22 #s(literal 2 binary64))
%38 = (pow.f64 %17 #s(literal 2 binary64))
%39 = (pow.f64 %10 #s(literal 2 binary64))
%40 = (pow.f64 %26 #s(literal 1 binary64))
%41 = (pow.f64 %4 #s(literal 2 binary64))
%44 = (/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1/2 binary64)))
%47 = (/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -2 binary64)))
%49 = (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64)))
%51 = (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64)))
%53 = (/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
%55 = (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -2 binary64)))
%56 = (*.f64 %10 %4)
%57 = (neg.f64 %56)
%58 = (+.f64 x x)
%60 = (fma.f64 #s(literal 2 binary64) x y)
%61 = (*.f64 %60 y)
%62 = (fma.f64 (*.f64 x %58) #s(literal 1/2 binary64) %61)
%64 = (*.f64 %4 y)
%65 = (fma.f64 (*.f64 %4 #s(literal 1 binary64)) x %64)
%67 = (fma.f64 (*.f64 %4 %58) #s(literal 1/2 binary64) %64)
%69 = (*.f64 #s(literal 1/2 binary64) x)
%70 = (fma.f64 (*.f64 %4 #s(literal 2 binary64)) %69 %64)
%71 = (+.f64 y y)
%72 = (*.f64 %71 %58)
%73 = (*.f64 x x)
%74 = (fma.f64 y y %73)
%75 = (fma.f64 %72 #s(literal 1/2 binary64) %74)
%76 = (*.f64 %71 #s(literal 2 binary64))
%77 = (fma.f64 %76 %69 %74)
%78 = (*.f64 y x)
%79 = (*.f64 %78 #s(literal 4 binary64))
%80 = (fma.f64 %79 #s(literal 1/2 binary64) %74)
%81 = (*.f64 %78 #s(literal 1/2 binary64))
%82 = (fma.f64 %81 #s(literal 4 binary64) %74)
%83 = (fabs.f64 x)
%84 = (sqrt.f64 %83)
%85 = (*.f64 %84 %83)
%86 = (fma.f64 %85 %84 %61)
%87 = (*.f64 y #s(literal 1 binary64))
%88 = (fma.f64 %87 %58 %74)
%89 = (fma.f64 %4 y %73)
%90 = (fma.f64 %87 x %89)
%91 = (*.f64 #s(literal -2 binary64) y)
%92 = (fma.f64 %91 %12 %74)
%93 = (*.f64 #s(literal 2 binary64) %14)
%94 = (fma.f64 %93 %12 %74)
%95 = (neg.f64 %71)
%96 = (fma.f64 %95 %12 %74)
%98 = (fma.f64 (*.f64 %58 %58) #s(literal 1/4 binary64) %61)
%99 = (fabs.f64 y)
%100 = (fabs.f64 %99)
%101 = (fma.f64 y #s(literal 2 binary64) x)
%102 = (*.f64 x %101)
%103 = (fma.f64 %100 %100 %102)
%104 = (neg.f64 %99)
%105 = (fma.f64 %104 %104 %102)
%106 = (fma.f64 %71 %69 %89)
%107 = (fma.f64 %71 x %74)
%108 = (*.f64 #s(literal 1/2 binary64) %78)
%109 = (fma.f64 #s(literal 4 binary64) %108 %74)
%111 = (fma.f64 #s(literal 4 binary64) (*.f64 %69 %69) %61)
%112 = (*.f64 %14 x)
%113 = (fma.f64 %112 #s(literal -2 binary64) %74)
%114 = (fma.f64 %99 %99 %102)
%115 = (fma.f64 %84 %85 %61)
%116 = (*.f64 #s(literal 4 binary64) %78)
%117 = (fma.f64 #s(literal 1/2 binary64) %116 %74)
%118 = (*.f64 %58 y)
%119 = (fma.f64 #s(literal 1/2 binary64) %118 %89)
%120 = (fma.f64 %118 #s(literal 1/2 binary64) %89)
%121 = (fma.f64 %118 #s(literal 1 binary64) %74)
%122 = (fma.f64 #s(literal -2 binary64) %112 %74)
%123 = (*.f64 #s(literal -2 binary64) x)
%124 = (fma.f64 %123 %14 %74)
%125 = (fma.f64 %78 #s(literal 1 binary64) %89)
%126 = (fma.f64 %78 #s(literal 2 binary64) %74)
%127 = (neg.f64 %83)
%128 = (fma.f64 %127 %127 %61)
%129 = (*.f64 %4 x)
%130 = (fma.f64 %129 #s(literal 1 binary64) %64)
%131 = (-.f64 %123 y)
%132 = (fma.f64 %131 %14 %73)
%133 = (fma.f64 %14 %131 %73)
%134 = (fma.f64 %14 %14 %102)
%135 = (fma.f64 %14 %10 %129)
%136 = (fma.f64 %14 %12 %89)
%137 = (fma.f64 %83 %83 %61)
%138 = (fma.f64 %10 %14 %129)
%139 = (fma.f64 %10 %12 %64)
%141 = (*.f64 y y)
%142 = (fma.f64 %12 (-.f64 %12 %71) %141)
%143 = (fma.f64 %12 %14 %89)
%144 = (fma.f64 %12 %10 %64)
%145 = (fma.f64 %12 %12 %61)
%146 = (fma.f64 #s(literal 1 binary64) %74 %118)
%147 = (fma.f64 #s(literal 1 binary64) %89 %78)
%148 = (fma.f64 #s(literal 1 binary64) %118 %74)
%149 = (fma.f64 #s(literal 1 binary64) %141 %102)
%150 = (fma.f64 #s(literal 1 binary64) %78 %89)
%151 = (fma.f64 #s(literal 1 binary64) %102 %141)
%152 = (fma.f64 #s(literal 1 binary64) %129 %64)
%153 = (fma.f64 #s(literal 1 binary64) %64 %129)
%154 = (fma.f64 #s(literal 1 binary64) %73 %61)
%155 = (fma.f64 #s(literal 1 binary64) %61 %73)
%156 = (fma.f64 %73 #s(literal 1 binary64) %61)
%157 = (*.f64 #s(literal 1/2 binary64) y)
%158 = (fma.f64 %58 %157 %89)
%160 = (fma.f64 %58 (*.f64 #s(literal 1/2 binary64) %4) %64)
%161 = (*.f64 #s(literal 1/2 binary64) %71)
%162 = (fma.f64 %58 %161 %74)
%163 = (fma.f64 %58 %69 %61)
%164 = (fma.f64 %58 y %74)
%165 = (fma.f64 %60 y %73)
%166 = (fma.f64 %4 y %129)
%167 = (fma.f64 %4 x %64)
%168 = (fma.f64 y %58 %74)
%169 = (fma.f64 y %60 %73)
%170 = (fma.f64 y %4 %129)
%171 = (fma.f64 y y %102)
%172 = (fma.f64 y x %89)
%174 = (fma.f64 #s(literal 2 binary64) (*.f64 %69 x) %61)
%175 = (*.f64 %69 y)
%176 = (fma.f64 #s(literal 2 binary64) %175 %89)
%178 = (fma.f64 #s(literal 2 binary64) (*.f64 %69 %4) %64)
%179 = (fma.f64 #s(literal 2 binary64) %108 %89)
%180 = (*.f64 %69 %71)
%181 = (fma.f64 #s(literal 2 binary64) %180 %74)
%182 = (*.f64 #s(literal -1 binary64) %112)
%183 = (fma.f64 #s(literal 2 binary64) %182 %74)
%184 = (fma.f64 #s(literal 2 binary64) %78 %74)
%186 = (fma.f64 x (+.f64 %4 y) %141)
%188 = (fma.f64 x (+.f64 y %4) %141)
%189 = (fma.f64 x %101 %141)
%191 = (fma.f64 x (+.f64 x %71) %141)
%193 = (fma.f64 x (-.f64 y %10) %141)
%195 = (fma.f64 x (-.f64 %71 %12) %141)
%196 = (fma.f64 x %71 %74)
%197 = (fma.f64 x %4 %64)
%198 = (fma.f64 x y %89)
%199 = (fma.f64 x x %61)
%200 = (*.f64 %91 x)
%201 = (-.f64 %74 %200)
%202 = (-.f64 %89 %112)
%203 = (*.f64 %14 y)
%205 = (-.f64 %118 (-.f64 %203 %73))
%206 = (*.f64 %12 x)
%208 = (-.f64 %118 (fma.f64 %14 y %206))
%210 = (-.f64 %118 (neg.f64 %74))
%212 = (-.f64 %141 (-.f64 %112 %129))
%214 = (-.f64 %141 (neg.f64 %102))
%216 = (-.f64 %78 (-.f64 %203 %129))
%218 = (-.f64 %78 (-.f64 %206 %64))
%219 = (*.f64 %10 x)
%221 = (-.f64 %78 (fma.f64 %14 y %219))
%222 = (*.f64 %14 %4)
%224 = (-.f64 %78 (fma.f64 %12 x %222))
%226 = (-.f64 %78 (neg.f64 %89))
%227 = (-.f64 %102 %203)
%228 = (-.f64 %129 %222)
%229 = (-.f64 %64 %219)
%230 = (*.f64 %131 y)
%231 = (-.f64 %73 %230)
%232 = (-.f64 %61 %206)
%233 = (sqrt.f64 %32)
%235 = (fabs.f64 (*.f64 %10 %22))
%237 = (fabs.f64 (*.f64 %4 %22))
%239 = (fabs.f64 (*.f64 %10 %17))
%241 = (fabs.f64 (*.f64 %4 %17))
%243 = (fabs.f64 (*.f64 %22 %10))
%245 = (fabs.f64 (*.f64 %17 %10))
%247 = (fabs.f64 (*.f64 %22 %4))
%249 = (fabs.f64 (*.f64 %17 %4))
%250 = (fabs.f64 %56)
%251 = (fabs.f64 %26)
%252 = (+.f64 %74 %118)
%253 = (+.f64 %89 %78)
%254 = (+.f64 %118 %74)
%255 = (+.f64 %141 %102)
%256 = (+.f64 %78 %89)
%257 = (+.f64 %102 %141)
%258 = (+.f64 %129 %64)
%259 = (+.f64 %64 %129)
%260 = (+.f64 %73 %61)
%261 = (+.f64 %61 %73)
%271 = (*.f64 #s(literal 2 binary64) %58)
%312 = (*.f64 %14 %123)
x
#s(literal 2 binary64)
y
(*.f64 #s(literal 1 binary64) %4)
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(neg.f64 %10)
(-.f64 y %12)
(-.f64 x %14)
%4
(+.f64 x y)
%20
%21
%23
%24
%25
%27
%26
%31
%34
%36
%37
%38
%39
%40
%41
%44
%47
%49
%51
%53
%55
%57
%62
%65
%67
%70
%75
%77
%80
%82
%86
%88
%90
%92
%94
%96
%98
%103
%105
%106
%107
%109
%111
%113
%114
%115
%117
%119
%120
%121
%122
%124
%125
%126
%128
%130
%132
%133
%134
%135
%136
%137
%138
%139
%142
%143
%144
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%158
%160
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%174
%176
%178
%179
%181
%183
%184
%186
%188
%189
%191
%193
%195
%196
%197
%198
%199
%201
%202
%205
%208
%210
%212
%214
%216
%218
%221
%224
%226
%227
%228
%229
%231
%232
%233
%235
%237
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
(*.f64 #s(literal 1 binary64) %60)
(pow.f64 %60 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %60 #s(literal -1 binary64)))
(neg.f64 %131)
(fma.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) y)
(fma.f64 (*.f64 %58 #s(literal 2 binary64)) #s(literal 1/2 binary64) y)
(fma.f64 %271 #s(literal 1/2 binary64) y)
(fma.f64 %69 #s(literal 4 binary64) y)
(fma.f64 #s(literal 4 binary64) %69 y)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) x) y)
(fma.f64 #s(literal 1/2 binary64) %271 y)
(fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) x %58) y)
(fma.f64 #s(literal -2 binary64) %12 y)
(fma.f64 %123 #s(literal -1 binary64) y)
(fma.f64 %12 #s(literal -2 binary64) y)
(fma.f64 #s(literal 1 binary64) %58 y)
(fma.f64 #s(literal 1 binary64) %4 x)
(fma.f64 %58 #s(literal 1 binary64) y)
%60
(fma.f64 x #s(literal 2 binary64) y)
(-.f64 %58 %14)
(-.f64 %4 %12)
(-.f64 y %123)
(-.f64 x %10)
(+.f64 %58 y)
(+.f64 %4 x)
(+.f64 y %58)
(+.f64 x %4)
(*.f64 %131 %14)
(*.f64 %14 %131)
(*.f64 #s(literal 1 binary64) %61)
%61
(*.f64 y %60)
(pow.f64 %61 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %61 #s(literal -1 binary64)))
(neg.f64 %230)
(fma.f64 %72 #s(literal 1/2 binary64) %141)
(fma.f64 %76 %69 %141)
(fma.f64 %79 #s(literal 1/2 binary64) %141)
(fma.f64 %81 #s(literal 4 binary64) %141)
(fma.f64 %87 %58 %141)
(fma.f64 %87 x %64)
(fma.f64 %91 %12 %141)
(fma.f64 %93 %12 %141)
(fma.f64 %95 %12 %141)
(fma.f64 %100 %100 %312)
(fma.f64 %100 %100 %118)
(fma.f64 %104 %104 %312)
(fma.f64 %104 %104 %118)
(fma.f64 %71 %69 %64)
(fma.f64 %71 x %141)
(fma.f64 #s(literal 4 binary64) %108 %141)
(fma.f64 %112 #s(literal -2 binary64) %141)
(fma.f64 %99 %99 %312)
(fma.f64 %99 %99 %118)
(fma.f64 #s(literal 1/2 binary64) %116 %141)
(fma.f64 #s(literal 1/2 binary64) %118 %64)
(fma.f64 %118 #s(literal 1/2 binary64) %64)
(fma.f64 %118 #s(literal 1 binary64) %141)
(fma.f64 #s(literal -2 binary64) %112 %141)
(fma.f64 %123 %14 %141)
(fma.f64 %78 #s(literal 1 binary64) %64)
(fma.f64 %78 #s(literal 2 binary64) %141)
(fma.f64 %14 %123 %141)
(fma.f64 %14 %14 %312)
(fma.f64 %14 %14 %118)
(fma.f64 %14 %10 %78)
(fma.f64 %14 %12 %64)
(fma.f64 %10 %14 %78)
(fma.f64 %12 %14 %64)
(fma.f64 #s(literal 1 binary64) %118 %141)
(fma.f64 #s(literal 1 binary64) %141 %312)
(fma.f64 #s(literal 1 binary64) %141 %118)
(fma.f64 #s(literal 1 binary64) %78 %64)
(fma.f64 #s(literal 1 binary64) %64 %78)
(fma.f64 %58 %157 %64)
(fma.f64 %58 %161 %141)
(fma.f64 %58 y %141)
(fma.f64 %4 y %78)
(fma.f64 y %58 %141)
(fma.f64 y %4 %78)
(fma.f64 y y %312)
(fma.f64 y y %118)
(fma.f64 y x %64)
(fma.f64 #s(literal 2 binary64) %175 %64)
(fma.f64 #s(literal 2 binary64) %108 %64)
(fma.f64 #s(literal 2 binary64) %180 %141)
(fma.f64 #s(literal 2 binary64) %182 %141)
(fma.f64 #s(literal 2 binary64) %78 %141)
(fma.f64 x %71 %141)
(fma.f64 x y %64)
(-.f64 %118 %203)
(-.f64 %141 %200)
(-.f64 %78 %222)
(-.f64 %64 %112)
(+.f64 %312 %141)
(+.f64 %118 %141)
(+.f64 %141 %312)
(+.f64 %141 %118)
(+.f64 %78 %64)
(+.f64 %64 %78)
%20
%21
%23
%24
%25
%27
%26
%31
%34
%36
%37
%38
%39
%40
%41
%44
%47
%49
%51
%53
%55
%57
%62
%65
%67
%70
%75
%77
%80
%82
%86
%88
%90
%92
%94
%96
%98
%103
%105
%106
%107
%109
%111
%113
%114
%115
%117
%119
%120
%121
%122
%124
%125
%126
%128
%130
%132
%133
%134
%135
%136
%137
%138
%139
%142
%143
%144
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%158
%160
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%174
%176
%178
%179
%181
%183
%184
%186
%188
%189
%191
%193
%195
%196
%197
%198
%199
%201
%202
%205
%208
%210
%212
%214
%216
%218
%221
%224
%226
%227
%228
%229
%231
%232
%233
%235
%237
%239
%241
%243
%245
%247
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261

reconstruct36.0ms (3.2%)

Counts
436 → 92
Compiler

Compiled 436 to 439 computations (-0.7% saved)

eval5.0ms (0.5%)

Compiler

Compiled 61 to 172 computations (-182.0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New59261
Fresh000
Picked022
Done000
Total59463
Accuracy
100.0%
Counts
63 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y))
53.0%
(fma.f64 x x (*.f64 (approx (+ (* 2 x) y) (*.f64 #s(literal 2 binary64) x)) y))
100.0%
%5 = (+.f64 y x)
(*.f64 %5 %5)
57.4%
%3 = (approx (+ y x) y)
(*.f64 %3 %3)
Compiler

Compiled 4 to 12 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (0.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0115460
Stop Event
iter-limit
Counts
9 → 30
Calls
Call 1
Inputs
%3 = (*.f64 #s(literal 2 binary64) x)
%5 = (approx (+ y x) y)
%9 = (approx (+ (* 2 x) y) %3)
%10 = (*.f64 %9 y)
x
#s(literal 2 binary64)
y
%3
%5
%9
%10
(fma.f64 x x %10)
(*.f64 %5 %5)
Outputs
%5 = (* 2 x)
%7 = (*.f64 #s(literal 2 binary64) x)
%10 = (+ y x)
%14 = (+ %5 y)
%15 = (+.f64 y %7)
%17 = (* %14 y)
%18 = (pow.f64 y #s(literal 2 binary64))
%20 = (*.f64 x y)
%24 = (+ (* x x) %17)
%30 = (/.f64 y x)
%39 = (/.f64 %18 x)
%43 = (pow.f64 x #s(literal 2 binary64))
%55 = (*.f64 #s(literal -1 binary64) %30)
%66 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %39))
%81 = (/.f64 x y)
%86 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %81))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %7)
(approx %10 y)
(approx %10 (+.f64 x y))
(approx %14 %15)
(approx %17 %18)
(approx %17 (fma.f64 #s(literal 2 binary64) %20 %18))
(approx %24 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %18))
(approx %10 (*.f64 x (+.f64 #s(literal 1 binary64) %30)))
(approx %14 (*.f64 x (+.f64 #s(literal 2 binary64) %30)))
(approx %17 (*.f64 #s(literal 2 binary64) %20))
(approx %17 (*.f64 x (fma.f64 #s(literal 2 binary64) y %39)))
(approx %24 %43)
(approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %30))))
(approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %30 (/.f64 %18 %43)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %55 #s(literal 1 binary64)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %55 #s(literal 2 binary64)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x %66)))
(approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %66 x)))))
(approx %17 (*.f64 y %15))
(approx %24 (fma.f64 #s(literal 2 binary64) %20 %43))
(approx %24 (fma.f64 y %15 %43))
(approx %10 (*.f64 y (+.f64 #s(literal 1 binary64) %81)))
(approx %14 (*.f64 y %86))
(approx %17 (*.f64 %18 %86))
(approx %24 (*.f64 %18 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %81 (/.f64 %43 %18)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %81) #s(literal 1 binary64)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %81) #s(literal 1 binary64)))))
(approx %24 (*.f64 %18 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %43 y))) y)))))
Calls

6 calls:

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

rewrite63.0ms (5.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01256
01752
15552
215352
343052
4131752
0403252
0428549
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 151
Calls
Call 1
Inputs
%3 = (*.f64 #s(literal 2 binary64) x)
%5 = (approx (+ y x) y)
%9 = (approx (+ (* 2 x) y) %3)
%10 = (*.f64 %9 y)
x
#s(literal 2 binary64)
y
%3
%5
%9
%10
(fma.f64 x x %10)
(*.f64 %5 %5)
Outputs
%4 = (*.f64 x #s(literal 4 binary64))
%7 = (+.f64 x x)
%8 = (*.f64 %7 #s(literal 2 binary64))
%10 = (*.f64 #s(literal 2 binary64) %7)
%12 = (*.f64 #s(literal 1/2 binary64) x)
%15 = (*.f64 #s(literal 4 binary64) x)
%18 = (fma.f64 #s(literal 2 binary64) x %7)
%21 = (neg.f64 x)
%23 = (*.f64 #s(literal -2 binary64) x)
%39 = (*.f64 %7 #s(literal 0 binary64))
%41 = (*.f64 #s(literal 0 binary64) %7)
%74 = (+ y x)
%75 = (approx %74 y)
%80 = (neg.f64 %75)
%83 = (approx (+ %74 x) %7)
%88 = (neg.f64 %83)
%90 = (neg.f64 y)
%93 = (*.f64 %83 y)
%99 = (*.f64 %88 y)
%101 = (fma.f64 x x %93)
%111 = (*.f64 x %7)
%114 = (*.f64 %7 %7)
%119 = (fabs.f64 x)
%120 = (sqrt.f64 %119)
%121 = (*.f64 %120 %119)
%123 = (*.f64 %21 #s(literal -1 binary64))
%125 = (*.f64 #s(literal -1 binary64) %21)
%131 = (*.f64 %12 %12)
%136 = (neg.f64 %119)
%138 = (*.f64 x x)
%152 = (*.f64 %12 x)
%161 = (fabs.f64 %75)
%162 = (sqrt.f64 %161)
%163 = (*.f64 %162 %161)
%166 = (neg.f64 %161)
%170 = (*.f64 %75 %75)
%175 = (*.f64 %170 %170)
%196 = (*.f64 %80 %75)
%199 = (*.f64 %80 %166)
%202 = (*.f64 %75 %166)
%205 = (*.f64 %80 %161)
%208 = (*.f64 %75 %161)
%211 = (*.f64 %166 %80)
%214 = (*.f64 %161 %80)
%217 = (*.f64 %166 %75)
%220 = (*.f64 %161 %75)
x
#s(literal 2 binary64)
y
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %8 #s(literal 1/2 binary64))
(*.f64 %10 #s(literal 1/2 binary64))
(*.f64 %12 #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) %12)
(*.f64 #s(literal 1/2 binary64) %15)
(*.f64 #s(literal 1/2 binary64) %10)
(*.f64 #s(literal 1/2 binary64) %18)
(*.f64 #s(literal -2 binary64) %21)
(*.f64 %23 #s(literal -1 binary64))
(*.f64 %21 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %7)
(*.f64 %7 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 %8 #s(literal 2 binary64))
(/.f64 %10 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %23)
(fma.f64 %4 #s(literal 1/2 binary64) %39)
(fma.f64 %4 #s(literal 1/2 binary64) %41)
(fma.f64 %8 #s(literal 1/2 binary64) %39)
(fma.f64 %8 #s(literal 1/2 binary64) %41)
(fma.f64 %10 #s(literal 1/2 binary64) %39)
(fma.f64 %10 #s(literal 1/2 binary64) %41)
(fma.f64 %12 #s(literal 4 binary64) %39)
(fma.f64 %12 #s(literal 4 binary64) %41)
(fma.f64 #s(literal 4 binary64) %12 %39)
(fma.f64 #s(literal 4 binary64) %12 %41)
(fma.f64 #s(literal 1/2 binary64) %15 %39)
(fma.f64 #s(literal 1/2 binary64) %15 %41)
(fma.f64 #s(literal 1/2 binary64) %10 %39)
(fma.f64 #s(literal 1/2 binary64) %10 %41)
(fma.f64 #s(literal 1/2 binary64) %18 %39)
(fma.f64 #s(literal 1/2 binary64) %18 %41)
(fma.f64 #s(literal -2 binary64) %21 %39)
(fma.f64 #s(literal -2 binary64) %21 %41)
(fma.f64 %23 #s(literal -1 binary64) %39)
(fma.f64 %23 #s(literal -1 binary64) %41)
(fma.f64 %21 #s(literal -2 binary64) %39)
(fma.f64 %21 #s(literal -2 binary64) %41)
(fma.f64 #s(literal 1 binary64) %7 %39)
(fma.f64 #s(literal 1 binary64) %7 %41)
(fma.f64 %7 #s(literal 1 binary64) %39)
(fma.f64 %7 #s(literal 1 binary64) %41)
(fma.f64 #s(literal 2 binary64) x %39)
(fma.f64 #s(literal 2 binary64) x %41)
(fma.f64 x #s(literal 2 binary64) %39)
(fma.f64 x #s(literal 2 binary64) %41)
(-.f64 x %21)
(+.f64 %7 %39)
(+.f64 %7 %41)
%7
(*.f64 #s(literal 1 binary64) %75)
(pow.f64 %75 #s(literal 1 binary64))
%75
(/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1 binary64)))
(neg.f64 %80)
(*.f64 #s(literal 1 binary64) %83)
(pow.f64 %83 #s(literal 1 binary64))
%83
(/.f64 #s(literal 1 binary64) (pow.f64 %83 #s(literal -1 binary64)))
(neg.f64 %88)
(*.f64 %88 %90)
(*.f64 %90 %88)
(*.f64 #s(literal 1 binary64) %93)
%93
(*.f64 y %83)
(pow.f64 %93 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %93 #s(literal -1 binary64)))
(neg.f64 %99)
(*.f64 #s(literal 1 binary64) %101)
(pow.f64 %101 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %101 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %101))
(fma.f64 (fabs.f64 (*.f64 %21 %7)) #s(literal 1/2 binary64) %93)
(fma.f64 (fabs.f64 %111) #s(literal 1/2 binary64) %93)
(fma.f64 (fabs.f64 %114) #s(literal 1/4 binary64) %93)
(fma.f64 %111 #s(literal 1/2 binary64) %93)
(fma.f64 %121 %120 %93)
(fma.f64 %123 %123 %93)
(fma.f64 %125 %125 %93)
(fma.f64 %114 #s(literal 1/4 binary64) %93)
(fma.f64 (fabs.f64 %7) (*.f64 #s(literal 1/2 binary64) %119) %93)
(fma.f64 #s(literal 4 binary64) (fabs.f64 %131) %93)
(fma.f64 #s(literal 4 binary64) %131 %93)
(fma.f64 %120 %121 %93)
(fma.f64 %136 %136 %93)
(fma.f64 %88 %90 %138)
(fma.f64 %90 %88 %138)
(fma.f64 %119 %119 %93)
(fma.f64 %21 %21 %93)
(fma.f64 #s(literal 1 binary64) %138 %93)
(fma.f64 #s(literal 1 binary64) %93 %138)
(fma.f64 %138 #s(literal 1 binary64) %93)
(fma.f64 %83 y %138)
(fma.f64 %7 %12 %93)
(fma.f64 y %83 %138)
(fma.f64 #s(literal 2 binary64) (fabs.f64 (*.f64 %12 %21)) %93)
(fma.f64 #s(literal 2 binary64) (fabs.f64 %152) %93)
(fma.f64 #s(literal 2 binary64) %152 %93)
%101
(-.f64 %138 %99)
(-.f64 %93 (*.f64 %21 x))
(+.f64 %138 %93)
(+.f64 %93 %138)
(*.f64 %163 %162)
(*.f64 %162 %163)
(*.f64 %166 %166)
(*.f64 %161 %161)
(*.f64 %80 %80)
(*.f64 #s(literal 1 binary64) %170)
%170
(pow.f64 (pow.f64 %75 #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %175 #s(literal 1/2 binary64))
(pow.f64 %162 #s(literal 4 binary64))
(pow.f64 %166 #s(literal 2 binary64))
(pow.f64 %161 #s(literal 2 binary64))
(pow.f64 %80 #s(literal 2 binary64))
(pow.f64 %170 #s(literal 1 binary64))
(pow.f64 %75 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %175 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %166 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %161 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %170 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -2 binary64)))
(neg.f64 %196)
(sqrt.f64 %175)
(fabs.f64 (neg.f64 %199))
(fabs.f64 (neg.f64 %202))
(fabs.f64 (neg.f64 %205))
(fabs.f64 (neg.f64 %208))
(fabs.f64 (neg.f64 %211))
(fabs.f64 (neg.f64 %214))
(fabs.f64 (neg.f64 %217))
(fabs.f64 (neg.f64 %220))
(fabs.f64 %199)
(fabs.f64 %202)
(fabs.f64 %205)
(fabs.f64 %208)
(fabs.f64 %211)
(fabs.f64 %214)
(fabs.f64 %217)
(fabs.f64 %220)
(fabs.f64 %196)
(fabs.f64 %170)

reconstruct29.0ms (2.5%)

Counts
180 → 46
Compiler

Compiled 180 to 298 computations (-65.6% saved)

eval4.0ms (0.4%)

Compiler

Compiled 42 to 130 computations (-209.5% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New41142
Fresh000
Picked112
Done022
Total42446
Accuracy
100.0%
Counts
46 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y))
53.0%
(fma.f64 x x (*.f64 (approx (+ (+ y x) x) (+.f64 x x)) y))
100.0%
%5 = (+.f64 y x)
(*.f64 %5 %5)
57.4%
%3 = (approx (+ y x) y)
(*.f64 %3 %3)
Compiler

Compiled 4 to 12 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series9.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
099424
Stop Event
iter-limit
Counts
6 → 25
Calls
Call 1
Inputs
%2 = (+.f64 x x)
%5 = (approx (+ (+ y x) x) %2)
%6 = (*.f64 %5 y)
x
y
%2
%5
%6
(fma.f64 x x %6)
Outputs
%6 = (*.f64 #s(literal 2 binary64) x)
%10 = (+ (+ y x) x)
%12 = (+.f64 y %6)
%14 = (* %10 y)
%15 = (pow.f64 y #s(literal 2 binary64))
%17 = (*.f64 x y)
%21 = (+ (* x x) %14)
%26 = (/.f64 y x)
%32 = (/.f64 %15 x)
%36 = (pow.f64 x #s(literal 2 binary64))
%56 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %32))
%71 = (/.f64 x y)
%73 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %71))
(approx x #s(literal 0 binary64))
(approx x x)
(approx (+ x x) %6)
(approx %10 y)
(approx %10 %12)
(approx %14 %15)
(approx %14 (fma.f64 #s(literal 2 binary64) %17 %15))
(approx %21 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %15))
(approx %10 (*.f64 x (+.f64 #s(literal 2 binary64) %26)))
(approx %14 (*.f64 #s(literal 2 binary64) %17))
(approx %14 (*.f64 x (fma.f64 #s(literal 2 binary64) y %32)))
(approx %21 %36)
(approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %26))))
(approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %26 (/.f64 %15 %36)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %26) #s(literal 2 binary64)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x %56)))
(approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %56 x)))))
(approx %14 (*.f64 y %12))
(approx %21 (fma.f64 #s(literal 2 binary64) %17 %36))
(approx %21 (fma.f64 y %12 %36))
(approx %10 (*.f64 y %73))
(approx %14 (*.f64 %15 %73))
(approx %21 (*.f64 %15 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %71 (/.f64 %36 %15)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %71) #s(literal 1 binary64)))))
(approx %21 (*.f64 %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %36 y))) y)))))
Calls

6 calls:

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

rewrite89.0ms (8.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0839
01239
14239
211839
331039
474039
0416539
0431036
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 184
Calls
Call 1
Inputs
%2 = (+.f64 x x)
%5 = (approx (+ (+ y x) x) %2)
%6 = (*.f64 %5 y)
x
y
%2
%5
%6
(fma.f64 x x %6)
Outputs
%3 = (/.f64 x #s(literal -2 binary64))
%7 = (neg.f64 x)
%8 = (*.f64 #s(literal 4 binary64) %7)
%11 = (*.f64 #s(literal 4 binary64) x)
%14 = (*.f64 #s(literal 1/2 binary64) x)
%19 = (*.f64 #s(literal 1/4 binary64) %14)
%23 = (*.f64 #s(literal 4 binary64) %11)
%26 = (+.f64 x x)
%27 = (*.f64 #s(literal 8 binary64) %26)
%29 = (*.f64 #s(literal 1/8 binary64) %26)
%31 = (*.f64 #s(literal 1/2 binary64) %14)
%33 = (*.f64 #s(literal 16 binary64) %14)
%36 = (*.f64 #s(literal 2 binary64) %11)
%38 = (*.f64 #s(literal 4 binary64) %26)
%40 = (*.f64 #s(literal -1/2 binary64) %7)
%44 = (*.f64 #s(literal -2 binary64) x)
%46 = (*.f64 #s(literal -4 binary64) %7)
%108 = (*.f64 %14 #s(literal 3 binary64))
%110 = (*.f64 x #s(literal 3/2 binary64))
%112 = (*.f64 #s(literal 3 binary64) %14)
%114 = (*.f64 #s(literal 3/2 binary64) x)
%135 = (*.f64 #s(literal 1/8 binary64) x)
%157 = (*.f64 #s(literal 1/4 binary64) x)
%162 = (*.f64 %14 #s(literal 1/2 binary64))
%195 = (approx (+ (+ y x) x) %26)
%200 = (neg.f64 %195)
%202 = (neg.f64 y)
%205 = (*.f64 %195 y)
%211 = (*.f64 %200 y)
%213 = (fma.f64 x x %205)
%220 = (*.f64 %14 %14)
%222 = (*.f64 %26 %26)
%224 = (fabs.f64 x)
%225 = (sqrt.f64 %224)
%226 = (*.f64 %225 %224)
%228 = (neg.f64 %225)
%229 = (*.f64 %228 %224)
%234 = (sqrt.f64 %225)
%241 = (*.f64 x x)
%243 = (neg.f64 %224)
x
y
(*.f64 %3 #s(literal -4 binary64))
(*.f64 %8 #s(literal -1/2 binary64))
(*.f64 %11 #s(literal 1/2 binary64))
(*.f64 %14 #s(literal 4 binary64))
(*.f64 #s(literal -4 binary64) %3)
(*.f64 #s(literal 16 binary64) %19)
(*.f64 #s(literal -1/2 binary64) %8)
(*.f64 #s(literal 1/8 binary64) %23)
(*.f64 #s(literal 1/8 binary64) %27)
(*.f64 #s(literal 8 binary64) %29)
(*.f64 #s(literal 8 binary64) %31)
(*.f64 #s(literal 1/4 binary64) %33)
(*.f64 #s(literal 1/4 binary64) %36)
(*.f64 #s(literal 1/4 binary64) %38)
(*.f64 #s(literal 4 binary64) %40)
(*.f64 #s(literal 4 binary64) %14)
(*.f64 #s(literal -1 binary64) %44)
(*.f64 #s(literal 1/2 binary64) %46)
(*.f64 #s(literal 1/2 binary64) %11)
(*.f64 #s(literal -2 binary64) %7)
(*.f64 %44 #s(literal -1 binary64))
(*.f64 %7 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %26)
(*.f64 #s(literal 2 binary64) x)
(*.f64 %26 #s(literal 1 binary64))
(*.f64 x #s(literal 2 binary64))
(pow.f64 %26 #s(literal 1 binary64))
(/.f64 (*.f64 x #s(literal 8 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) x) #s(literal 4 binary64))
(/.f64 (/.f64 %11 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 %46 #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) x %11) #s(literal 4 binary64))
(/.f64 %23 #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %11) #s(literal -4 binary64))
(/.f64 %27 #s(literal 8 binary64))
(/.f64 (*.f64 %11 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %11 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %26 #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %11) #s(literal -2 binary64))
(/.f64 %36 #s(literal 4 binary64))
(/.f64 %38 #s(literal 4 binary64))
(/.f64 (*.f64 %11 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 %11 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %26 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %26 #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 %8 #s(literal -2 binary64))
(/.f64 %11 #s(literal 2 binary64))
(/.f64 %44 #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %11))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(/.f64 %26 #s(literal 1 binary64))
(/.f64 x #s(literal 1/2 binary64))
(neg.f64 %44)
(fma.f64 %3 #s(literal -4 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 3/2 binary64) x %14)
(fma.f64 %8 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %11 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %14 #s(literal 3 binary64) %14)
(fma.f64 %14 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %14 #s(literal 1 binary64) %108)
(fma.f64 %14 #s(literal 1 binary64) %110)
(fma.f64 %14 #s(literal 1 binary64) %112)
(fma.f64 %14 #s(literal 1 binary64) %114)
(fma.f64 #s(literal -4 binary64) %3 #s(literal 0 binary64))
(fma.f64 #s(literal 16 binary64) %19 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) %8 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %23 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %27 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %11 %108)
(fma.f64 #s(literal 1/8 binary64) %11 %110)
(fma.f64 #s(literal 1/8 binary64) %11 %112)
(fma.f64 #s(literal 1/8 binary64) %11 %114)
(fma.f64 #s(literal 8 binary64) %29 #s(literal 0 binary64))
(fma.f64 #s(literal 8 binary64) %31 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %33 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %36 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %38 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %26 %108)
(fma.f64 #s(literal 1/4 binary64) %26 %110)
(fma.f64 #s(literal 1/4 binary64) %26 %112)
(fma.f64 #s(literal 1/4 binary64) %26 %114)
(fma.f64 #s(literal 3 binary64) %14 %14)
(fma.f64 #s(literal 4 binary64) %135 %108)
(fma.f64 #s(literal 4 binary64) %135 %110)
(fma.f64 #s(literal 4 binary64) %135 %112)
(fma.f64 #s(literal 4 binary64) %135 %114)
(fma.f64 #s(literal 4 binary64) %40 #s(literal 0 binary64))
(fma.f64 #s(literal 4 binary64) %14 #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %44 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %46 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %11 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) x %108)
(fma.f64 #s(literal 1/2 binary64) x %110)
(fma.f64 #s(literal 1/2 binary64) x %112)
(fma.f64 #s(literal 1/2 binary64) x %114)
(fma.f64 #s(literal -2 binary64) %7 #s(literal 0 binary64))
(fma.f64 %44 #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 %7 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %14 %108)
(fma.f64 #s(literal 1 binary64) %14 %110)
(fma.f64 #s(literal 1 binary64) %14 %112)
(fma.f64 #s(literal 1 binary64) %14 %114)
(fma.f64 #s(literal 1 binary64) %26 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %157 %108)
(fma.f64 #s(literal 2 binary64) %157 %110)
(fma.f64 #s(literal 2 binary64) %157 %112)
(fma.f64 #s(literal 2 binary64) %157 %114)
(fma.f64 #s(literal 2 binary64) %162 %108)
(fma.f64 #s(literal 2 binary64) %162 %110)
(fma.f64 #s(literal 2 binary64) %162 %112)
(fma.f64 #s(literal 2 binary64) %162 %114)
(fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64))
(fma.f64 %26 #s(literal 1/4 binary64) %108)
(fma.f64 %26 #s(literal 1/4 binary64) %110)
(fma.f64 %26 #s(literal 1/4 binary64) %112)
(fma.f64 %26 #s(literal 1/4 binary64) %114)
(fma.f64 %26 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 x #s(literal 3/2 binary64) %14)
(fma.f64 x #s(literal 1/2 binary64) %108)
(fma.f64 x #s(literal 1/2 binary64) %110)
(fma.f64 x #s(literal 1/2 binary64) %112)
(fma.f64 x #s(literal 1/2 binary64) %114)
(fma.f64 x #s(literal 2 binary64) #s(literal 0 binary64))
(-.f64 %26 (*.f64 %44 #s(literal 0 binary64)))
(-.f64 %26 #s(literal 0 binary64))
(-.f64 x %7)
(+.f64 %108 %14)
(+.f64 %110 %14)
(+.f64 %112 %14)
(+.f64 %114 %14)
(+.f64 %14 %108)
(+.f64 %14 %110)
(+.f64 %14 %112)
(+.f64 %14 %114)
(+.f64 #s(literal 0 binary64) %26)
(+.f64 %26 #s(literal 0 binary64))
%26
(*.f64 #s(literal 1 binary64) %195)
(pow.f64 %195 #s(literal 1 binary64))
%195
(/.f64 #s(literal 1 binary64) (pow.f64 %195 #s(literal -1 binary64)))
(neg.f64 %200)
(*.f64 %202 %200)
(*.f64 %200 %202)
(*.f64 #s(literal 1 binary64) %205)
%205
(*.f64 y %195)
(pow.f64 %205 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %205 #s(literal -1 binary64)))
(neg.f64 %211)
(*.f64 #s(literal 1 binary64) %213)
(pow.f64 %213 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %213 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %213))
(fma.f64 %220 #s(literal 4 binary64) %205)
(fma.f64 %222 #s(literal 1/4 binary64) %205)
(fma.f64 %226 %225 %205)
(fma.f64 %229 %228 %205)
(fma.f64 %14 %26 %205)
(fma.f64 %228 %229 %205)
(fma.f64 #s(literal 1/4 binary64) %222 %205)
(fma.f64 %234 (*.f64 %234 %226) %205)
(fma.f64 #s(literal 4 binary64) %220 %205)
(fma.f64 %225 %226 %205)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %26 x) %205)
(fma.f64 %202 %200 %241)
(fma.f64 %243 %243 %205)
(fma.f64 %200 %202 %241)
(fma.f64 %224 %224 %205)
(fma.f64 %7 %7 %205)
(fma.f64 #s(literal 1 binary64) %241 %205)
(fma.f64 #s(literal 1 binary64) %205 %241)
(fma.f64 #s(literal 2 binary64) (*.f64 %14 x) %205)
(fma.f64 %241 #s(literal 1 binary64) %205)
(fma.f64 %195 y %241)
(fma.f64 %26 %14 %205)
(fma.f64 y %195 %241)
%213
(-.f64 %241 %211)
(-.f64 %205 (*.f64 %7 x))
(+.f64 %241 %205)
(+.f64 %205 %241)

reconstruct17.0ms (1.5%)

Counts
209 → 34
Compiler

Compiled 209 to 315 computations (-50.7% saved)

eval3.0ms (0.3%)

Compiler

Compiled 30 to 102 computations (-240.0% saved)

prune7.0ms (0.6%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New29130
Fresh000
Picked011
Done033
Total29534
Accuracy
100.0%
Counts
34 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y))
53.0%
(fma.f64 x x (*.f64 (approx (+ (+ y x) x) (+.f64 x x)) y))
98.7%
(fma.f64 x x (*.f64 (approx (+ (+ y x) x) y) y))
100.0%
%5 = (+.f64 y x)
(*.f64 %5 %5)
57.4%
%3 = (approx (+ y x) y)
(*.f64 %3 %3)
Compiler

Compiled 5 to 14 computations (-180.0% saved)

regimes14.0ms (1.2%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

0.0b-0.0%
0.0b0%
-0.0b-0.0%

Counts
1 → 1
2 → 1
3 → 1
Calls
Call 1
Inputs
%3 = (approx (+ y x) y)
(*.f64 %3 %3)
Outputs
%3 = (approx (+ y x) y)
(*.f64 %3 %3)
Call 2
Inputs
%2 = (+ y x)
%3 = (approx %2 y)
(*.f64 %3 %3)
(fma.f64 x x (*.f64 (approx (+ %2 x) y) y))
Outputs
(fma.f64 x x (*.f64 (approx (+ (+ y x) x) y) y))
Call 3
Inputs
%2 = (+ y x)
%3 = (approx %2 y)
%9 = (+.f64 y x)
(*.f64 %3 %3)
(fma.f64 x x (*.f64 (approx (+ %2 x) y) y))
(*.f64 %9 %9)
Outputs
%2 = (+.f64 y x)
(*.f64 %2 %2)
Calls

3 calls:

4.0ms
x
4.0ms
y
4.0ms
(+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y))
Results
AccuracySegmentsBranch
57.4%1
y
57.4%1
x
57.4%1
(+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y))
Compiler

Compiled 10 to 32 computations (-220.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations59.0ms (5.2%)

Stop Event
fuel
Compiler

Compiled 3 to 7 computations (-133.3% saved)

preprocess13.0ms (1.2%)

Compiler

Compiled 10 to 36 computations (-260.0% saved)

end0.0ms (0.0%)

gc139ms (12.4%)

Allocations
AllocatedPercentPhase
453.4 MiB54.1%sample
158.4 MiB18.9%rewrite
87.2 MiB10.4%reconstruct
36.8 MiB4.4%series
30.2 MiB3.6%preprocess
22.0 MiB2.6%regimes
19.4 MiB2.3%eval
16.0 MiB1.9%derivations
12.4 MiB1.5%prune
2.1 MiB0.2%analyze
0.1 MiB0.0%bsearch
0.0 MiB0.0%start
0.0 MiB0.0%end
837.9 MiB100.0%total

Profiling

Loading profile data...