Graphics.Rendering.Chart.Drawing:drawTextsR from Chart-1.5.3

Time bar (total: 1.6s)

start0.0ms (0.0%)

analyze1.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 11 to 9 computations (18.2% saved)

sample517.0ms (33.2%)

Samples
403.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 16.0ms
Mul: 9.0ms (56.0% of total, 0.0 MiB)
Sub: 4.0ms (24.9% of total, 0.0 MiB)
Add: 3.0ms (18.7% of total, 0.0 MiB)
Bogosity

preprocess26.0ms (1.7%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03399
115091
236990
3112373
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series13.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
082329
Stop Event
iter-limit
Counts
8 → 25
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 x #s(literal 1 binary64))
%6 = (*.f64 %4 z)
x
y
%2
#s(literal 1 binary64)
%4
z
%6
(+.f64 %2 %6)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (- x 1)
%13 = (-.f64 x #s(literal 1 binary64))
%16 = (* %9 z)
%17 = (*.f64 #s(literal -1 binary64) z)
%19 = (*.f64 x z)
%22 = (+ %5 %16)
%24 = (*.f64 x (+.f64 y z))
%27 = (/.f64 #s(literal 1 binary64) x)
%32 = (/.f64 z x)
%34 = (+.f64 z (*.f64 #s(literal -1 binary64) %32))
%45 = (fma.f64 #s(literal -1 binary64) z %32)
%58 = (*.f64 z %13)
%62 = (/.f64 %58 y)
%72 = (/.f64 %6 z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 #s(literal -1 binary64))
(approx %9 %13)
(approx %16 %17)
(approx %16 (fma.f64 #s(literal -1 binary64) z %19))
(approx %22 (fma.f64 #s(literal -1 binary64) z %24))
(approx %9 (*.f64 x (-.f64 #s(literal 1 binary64) %27)))
(approx %16 %19)
(approx %16 (*.f64 x %34))
(approx %22 %24)
(approx %22 (*.f64 x (+.f64 y %34)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %27 #s(literal 1 binary64)))))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 x %45)))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %17))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %45))))
(approx y y)
(approx %22 %58)
(approx %22 (fma.f64 x y %58))
(approx %22 (*.f64 y (+.f64 x %62)))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %62)))))
(approx z z)
(approx %22 (*.f64 z (-.f64 (+.f64 x %72) #s(literal 1 binary64))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %13 (*.f64 #s(literal -1 binary64) %72)))))
Calls

9 calls:

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

rewrite105.0ms (6.7%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0824
01224
13924
29724
331122
4155222
0469022
0487322
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 391
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 x #s(literal 1 binary64))
%6 = (*.f64 %4 z)
x
y
%2
#s(literal 1 binary64)
%4
z
%6
(+.f64 %2 %6)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%7 = (*.f64 y x)
%14 = (*.f64 %3 y)
%18 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%20 = (/.f64 %18 #s(literal 8 binary64))
%25 = (-.f64 (*.f64 x #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
%28 = (-.f64 x #s(literal 1 binary64))
%32 = (-.f64 x #s(literal 0 binary64))
%37 = (sqrt.f64 #s(literal 2 binary64))
%41 = (E.f64 )
%70 = (+.f64 x x)
%71 = (/.f64 %70 #s(literal 2 binary64))
%105 = (-.f64 x #s(literal 1/2 binary64))
%154 = (*.f64 x #s(literal 1 binary64))
%188 = (/.f64 %18 #s(literal 1/2 binary64))
%191 = (*.f64 %18 #s(literal 2 binary64))
%192 = (-.f64 %191 #s(literal 0 binary64))
%195 = (fma.f64 x #s(literal -2 binary64) #s(literal 2 binary64))
%199 = (-.f64 (*.f64 x #s(literal -2 binary64)) #s(literal -2 binary64))
%202 = (*.f64 %105 #s(literal 2 binary64))
%203 = (-.f64 %202 #s(literal 1 binary64))
%206 = (*.f64 %28 #s(literal 2 binary64))
%207 = (-.f64 %206 #s(literal 0 binary64))
%210 = (-.f64 #s(literal 1 binary64) x)
%211 = (*.f64 #s(literal 2 binary64) %210)
%212 = (neg.f64 %211)
%217 = (neg.f64 %18)
%303 = (/.f64 (fma.f64 %3 #s(literal 2 binary64) #s(literal 1 binary64)) #s(literal -2 binary64))
%305 = (/.f64 %32 #s(literal 1 binary64))
%307 = (/.f64 x #s(literal 1 binary64))
%331 = (-.f64 #s(literal -1/2 binary64) %3)
%334 = (+.f64 #s(literal -1/2 binary64) x)
%340 = (-.f64 #s(literal 0 binary64) %3)
%343 = (+.f64 #s(literal 0 binary64) x)
%356 = (*.f64 z #s(literal -2 binary64))
%357 = (*.f64 %210 %356)
%359 = (+.f64 z z)
%360 = (*.f64 %210 %359)
%362 = (*.f64 %210 #s(literal -2 binary64))
%363 = (*.f64 z #s(literal 1/2 binary64))
%365 = (*.f64 %210 #s(literal -1 binary64))
%367 = (*.f64 #s(literal 1/2 binary64) %210)
%369 = (*.f64 #s(literal -1/2 binary64) %210)
%371 = (*.f64 #s(literal -1 binary64) %210)
%373 = (*.f64 z %28)
%374 = (*.f64 z #s(literal -1/2 binary64))
%376 = (neg.f64 z)
%378 = (*.f64 %363 %210)
%380 = (*.f64 %374 %210)
%382 = (*.f64 z %210)
%389 = (*.f64 z x)
%390 = (*.f64 %389 #s(literal 2 binary64))
%391 = (*.f64 %376 #s(literal -2 binary64))
%394 = (*.f64 %389 #s(literal -2 binary64))
%395 = (*.f64 %376 #s(literal 2 binary64))
%398 = (*.f64 #s(literal -2 binary64) %376)
%401 = (*.f64 #s(literal 2 binary64) %376)
%411 = (*.f64 %376 %211)
%414 = (*.f64 z %18)
%417 = (*.f64 %211 %376)
%420 = (*.f64 %18 z)
%430 = (*.f64 %376 #s(literal 0 binary64))
%432 = (*.f64 #s(literal 0 binary64) %376)
%440 = (*.f64 %356 #s(literal 1 binary64))
%441 = (*.f64 %3 %376)
%443 = (*.f64 %376 %3)
%445 = (*.f64 z %3)
%446 = (neg.f64 %445)
%449 = (-.f64 #s(literal 1/2 binary64) x)
%450 = (*.f64 #s(literal 1/2 binary64) %376)
%487 = (*.f64 %376 #s(literal 1/2 binary64))
%490 = (*.f64 %376 %449)
%505 = (*.f64 #s(literal 4 binary64) %374)
%514 = (*.f64 %449 %376)
%558 = (+.f64 y z)
%559 = (*.f64 x %558)
%560 = (-.f64 %559 z)
%563 = (*.f64 %559 #s(literal 2 binary64))
%566 = (*.f64 %559 #s(literal -2 binary64))
%580 = (*.f64 %7 #s(literal 2 binary64))
%601 = (-.f64 %389 %14)
%618 = (fma.f64 y x %376)
x
y
(*.f64 %2 %3)
(*.f64 %3 %2)
(*.f64 #s(literal 1 binary64) %7)
%7
(*.f64 x y)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %14)
#s(literal 1 binary64)
(*.f64 %20 #s(literal 4 binary64))
(*.f64 %25 #s(literal 2 binary64))
(*.f64 %18 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %28)
(pow.f64 %28 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal -4 binary64)) #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %32 %37) %37) %37)
(/.f64 (-.f64 (*.f64 %32 %41) %41) %41)
(/.f64 (-.f64 (*.f64 %32 #s(literal 8 binary64)) #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal 4 binary64)) #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal -2 binary64)) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 %32 #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal -4 binary64)) #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %71 %37) %37) %37)
(/.f64 (-.f64 (*.f64 %71 %41) %41) %41)
(/.f64 (-.f64 (*.f64 %71 #s(literal 8 binary64)) #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal 4 binary64)) #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal -2 binary64)) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 %71 #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %105 #s(literal 8 binary64)) #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %105 #s(literal -4 binary64)) #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %105 #s(literal 1 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %105 #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %105 #s(literal -2 binary64)) #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal -4 binary64)) #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal 8 binary64)) #s(literal 0 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal 4 binary64)) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal -2 binary64)) #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal 1/2 binary64)) #s(literal 0 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 %28 #s(literal 1 binary64)) #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 x #s(literal -4 binary64)) #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 x %37) %37) %37)
(/.f64 (-.f64 (*.f64 x %41) %41) %41)
(/.f64 (-.f64 (*.f64 x #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal -4 binary64)) #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %154 %37) %37) %37)
(/.f64 (-.f64 (*.f64 %154 %41) %41) %41)
(/.f64 (-.f64 (*.f64 %154 #s(literal 8 binary64)) #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal 4 binary64)) #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal -2 binary64)) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 %154 #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal -1 binary64) (-.f64 %70 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 %188 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %192 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %195 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %199 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %203 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %207 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %212 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %28 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %217 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 x #s(literal 8 binary64)) #s(literal 8 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %192 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %195 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %199 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %203 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %207 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %212 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %217 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %211 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (neg.f64 %188) #s(literal -4 binary64))
(/.f64 (neg.f64 %195) #s(literal 2 binary64))
(/.f64 (neg.f64 %203) #s(literal -2 binary64))
(/.f64 (neg.f64 %207) #s(literal -2 binary64))
(/.f64 (neg.f64 %199) #s(literal 2 binary64))
(/.f64 (neg.f64 %192) #s(literal -4 binary64))
(/.f64 (neg.f64 %212) #s(literal -2 binary64))
(/.f64 (neg.f64 %217) #s(literal 2 binary64))
(/.f64 %188 #s(literal 4 binary64))
(/.f64 %25 #s(literal 1/2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %70) #s(literal -2 binary64))
(/.f64 %195 #s(literal -2 binary64))
(/.f64 %203 #s(literal 2 binary64))
(/.f64 %207 #s(literal 2 binary64))
(/.f64 %199 #s(literal -2 binary64))
(/.f64 %192 #s(literal 4 binary64))
(/.f64 %212 #s(literal 2 binary64))
(/.f64 %217 #s(literal -2 binary64))
(/.f64 %211 #s(literal -2 binary64))
(/.f64 %18 #s(literal 2 binary64))
(/.f64 %210 #s(literal -1 binary64))
(/.f64 %28 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18))
(/.f64 #s(literal 1 binary64) (pow.f64 %28 #s(literal -1 binary64)))
(neg.f64 %210)
(fma.f64 %20 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %25 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %18 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %105 #s(literal -1/2 binary64))
(fma.f64 #s(literal 1 binary64) %28 #s(literal 0 binary64))
(-.f64 (/.f64 %202 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 %206 #s(literal 2 binary64)) #s(literal 0 binary64))
(-.f64 (/.f64 %154 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 %191 #s(literal 4 binary64)) #s(literal 0 binary64))
(-.f64 (/.f64 (-.f64 %70 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(-.f64 (/.f64 (-.f64 %70 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(-.f64 (/.f64 %71 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %303 #s(literal 1/2 binary64))
(-.f64 %305 #s(literal 1 binary64))
(-.f64 %307 #s(literal 1 binary64))
(-.f64 %32 #s(literal 1 binary64))
(-.f64 %154 #s(literal 1 binary64))
(-.f64 %71 #s(literal 1 binary64))
(-.f64 %105 #s(literal 1/2 binary64))
(-.f64 #s(literal -1 binary64) (/.f64 %3 #s(literal 1 binary64)))
(-.f64 #s(literal -1 binary64) %3)
(-.f64 %28 #s(literal 0 binary64))
%28
(+.f64 (/.f64 (fma.f64 %3 #s(literal 2 binary64) #s(literal 3/2 binary64)) #s(literal -2 binary64)) #s(literal -1/4 binary64))
(+.f64 (/.f64 (fma.f64 %3 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal -2 binary64)) #s(literal -3/4 binary64))
(+.f64 %303 #s(literal -1/2 binary64))
(+.f64 %307 #s(literal -1 binary64))
(+.f64 (-.f64 %28 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %71 #s(literal -1 binary64))
(+.f64 %105 #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (/.f64 %331 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) (/.f64 %334 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) %331)
(+.f64 #s(literal -1/2 binary64) %334)
(+.f64 #s(literal -1/2 binary64) %105)
(+.f64 #s(literal -1 binary64) (/.f64 %340 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) (/.f64 %343 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) %305)
(+.f64 #s(literal -1 binary64) %307)
(+.f64 #s(literal -1 binary64) %340)
(+.f64 #s(literal -1 binary64) %343)
(+.f64 #s(literal -1 binary64) %32)
(+.f64 #s(literal -1 binary64) %71)
(+.f64 #s(literal -1 binary64) x)
(+.f64 %28 #s(literal 0 binary64))
(+.f64 x #s(literal -1 binary64))
z
(*.f64 %357 #s(literal 1/2 binary64))
(*.f64 %360 #s(literal -1/2 binary64))
(*.f64 %362 %363)
(*.f64 %365 z)
(*.f64 %356 %367)
(*.f64 %359 %369)
(*.f64 z %371)
%373
(*.f64 %211 %374)
(*.f64 %376 %210)
(*.f64 #s(literal -2 binary64) %378)
(*.f64 #s(literal 2 binary64) %380)
(*.f64 %382 #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) %382)
(*.f64 %210 %376)
(*.f64 %28 z)
(*.f64 #s(literal 1 binary64) %373)
(pow.f64 %373 #s(literal 1 binary64))
(/.f64 (-.f64 %390 %391) #s(literal 2 binary64))
(/.f64 (-.f64 %394 %395) #s(literal -2 binary64))
(/.f64 (-.f64 %390 %398) #s(literal 2 binary64))
(/.f64 (-.f64 %394 %401) #s(literal -2 binary64))
(/.f64 (-.f64 %394 %356) #s(literal -2 binary64))
(/.f64 (-.f64 %390 %359) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %389 #s(literal 1 binary64)) z) #s(literal 1 binary64))
(/.f64 (neg.f64 %411) #s(literal -2 binary64))
(/.f64 (neg.f64 %414) #s(literal -2 binary64))
(/.f64 (neg.f64 %417) #s(literal -2 binary64))
(/.f64 (neg.f64 %420) #s(literal -2 binary64))
(/.f64 %411 #s(literal 2 binary64))
(/.f64 %414 #s(literal 2 binary64))
(/.f64 %417 #s(literal 2 binary64))
(/.f64 %420 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %373 #s(literal -1 binary64)))
(neg.f64 %382)
(fma.f64 %357 #s(literal 1/2 binary64) %430)
(fma.f64 %357 #s(literal 1/2 binary64) %432)
(fma.f64 %360 #s(literal -1/2 binary64) %430)
(fma.f64 %360 #s(literal -1/2 binary64) %432)
(fma.f64 %362 %363 %430)
(fma.f64 %362 %363 %432)
(fma.f64 %365 z %430)
(fma.f64 %365 z %432)
(fma.f64 %440 #s(literal 1/2 binary64) %441)
(fma.f64 %440 #s(literal 1/2 binary64) %443)
(fma.f64 %440 #s(literal 1/2 binary64) %446)
(fma.f64 %440 #s(literal 1/2 binary64) %389)
(fma.f64 %449 %376 %450)
(fma.f64 %356 %367 %430)
(fma.f64 %356 %367 %432)
(fma.f64 %356 #s(literal 1/2 binary64) %441)
(fma.f64 %356 #s(literal 1/2 binary64) %443)
(fma.f64 %356 #s(literal 1/2 binary64) %446)
(fma.f64 %356 #s(literal 1/2 binary64) %389)
(fma.f64 %359 %369 %430)
(fma.f64 %359 %369 %432)
(fma.f64 %359 #s(literal -1/2 binary64) %441)
(fma.f64 %359 #s(literal -1/2 binary64) %443)
(fma.f64 %359 #s(literal -1/2 binary64) %446)
(fma.f64 %359 #s(literal -1/2 binary64) %389)
(fma.f64 %363 #s(literal -2 binary64) %441)
(fma.f64 %363 #s(literal -2 binary64) %443)
(fma.f64 %363 #s(literal -2 binary64) %446)
(fma.f64 %363 #s(literal -2 binary64) %389)
(fma.f64 %374 #s(literal 2 binary64) %441)
(fma.f64 %374 #s(literal 2 binary64) %443)
(fma.f64 %374 #s(literal 2 binary64) %446)
(fma.f64 %374 #s(literal 2 binary64) %389)
(fma.f64 z %371 %430)
(fma.f64 z %371 %432)
(fma.f64 z #s(literal -1 binary64) %441)
(fma.f64 z #s(literal -1 binary64) %443)
(fma.f64 z #s(literal -1 binary64) %446)
(fma.f64 z #s(literal -1 binary64) %389)
(fma.f64 z %28 %430)
(fma.f64 z %28 %432)
(fma.f64 z x %376)
(fma.f64 %211 %374 %430)
(fma.f64 %211 %374 %432)
(fma.f64 #s(literal -1/2 binary64) %359 %441)
(fma.f64 #s(literal -1/2 binary64) %359 %443)
(fma.f64 #s(literal -1/2 binary64) %359 %446)
(fma.f64 #s(literal -1/2 binary64) %359 %389)
(fma.f64 %376 %449 %487)
(fma.f64 %376 %3 %376)
(fma.f64 %376 #s(literal 1/2 binary64) %490)
(fma.f64 %376 %210 %430)
(fma.f64 %376 %210 %432)
(fma.f64 %376 #s(literal 1 binary64) %441)
(fma.f64 %376 #s(literal 1 binary64) %443)
(fma.f64 %376 #s(literal 1 binary64) %446)
(fma.f64 %376 #s(literal 1 binary64) %389)
(fma.f64 #s(literal -2 binary64) %378 %430)
(fma.f64 #s(literal -2 binary64) %378 %432)
(fma.f64 #s(literal -2 binary64) %363 %441)
(fma.f64 #s(literal -2 binary64) %363 %443)
(fma.f64 #s(literal -2 binary64) %363 %446)
(fma.f64 #s(literal -2 binary64) %363 %389)
(fma.f64 %3 %376 %376)
(fma.f64 #s(literal 1/2 binary64) %505 %441)
(fma.f64 #s(literal 1/2 binary64) %505 %443)
(fma.f64 #s(literal 1/2 binary64) %505 %446)
(fma.f64 #s(literal 1/2 binary64) %505 %389)
(fma.f64 #s(literal 1/2 binary64) %356 %441)
(fma.f64 #s(literal 1/2 binary64) %356 %443)
(fma.f64 #s(literal 1/2 binary64) %356 %446)
(fma.f64 #s(literal 1/2 binary64) %356 %389)
(fma.f64 #s(literal 1/2 binary64) %376 %514)
(fma.f64 #s(literal 2 binary64) %380 %430)
(fma.f64 #s(literal 2 binary64) %380 %432)
(fma.f64 #s(literal 2 binary64) %374 %441)
(fma.f64 #s(literal 2 binary64) %374 %443)
(fma.f64 #s(literal 2 binary64) %374 %446)
(fma.f64 #s(literal 2 binary64) %374 %389)
(fma.f64 %382 #s(literal -1 binary64) %430)
(fma.f64 %382 #s(literal -1 binary64) %432)
(fma.f64 #s(literal -1 binary64) z %441)
(fma.f64 #s(literal -1 binary64) z %443)
(fma.f64 #s(literal -1 binary64) z %446)
(fma.f64 #s(literal -1 binary64) z %389)
(fma.f64 #s(literal -1 binary64) %382 %430)
(fma.f64 #s(literal -1 binary64) %382 %432)
(fma.f64 %210 %376 %430)
(fma.f64 %210 %376 %432)
(fma.f64 %28 z %430)
(fma.f64 %28 z %432)
(fma.f64 #s(literal 1 binary64) %389 %376)
(fma.f64 #s(literal 1 binary64) %376 %441)
(fma.f64 #s(literal 1 binary64) %376 %443)
(fma.f64 #s(literal 1 binary64) %376 %446)
(fma.f64 #s(literal 1 binary64) %376 %389)
(fma.f64 #s(literal 1 binary64) %373 %430)
(fma.f64 #s(literal 1 binary64) %373 %432)
(fma.f64 x z %376)
(-.f64 %389 z)
(-.f64 %376 %445)
(+.f64 %490 %487)
(+.f64 %487 %490)
(+.f64 %514 %450)
(+.f64 %450 %514)
(+.f64 %441 %376)
(+.f64 %443 %376)
(+.f64 %446 %376)
(+.f64 %389 %376)
(+.f64 %376 %441)
(+.f64 %376 %443)
(+.f64 %376 %446)
(+.f64 %376 %389)
(+.f64 %373 %430)
(+.f64 %373 %432)
(*.f64 #s(literal 1 binary64) %560)
(pow.f64 %560 #s(literal 1 binary64))
(/.f64 (-.f64 %563 %391) #s(literal 2 binary64))
(/.f64 (-.f64 %566 %395) #s(literal -2 binary64))
(/.f64 (-.f64 %563 %398) #s(literal 2 binary64))
(/.f64 (-.f64 %566 %401) #s(literal -2 binary64))
(/.f64 (-.f64 %566 %356) #s(literal -2 binary64))
(/.f64 (-.f64 %563 %359) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %559 #s(literal 1 binary64)) z) #s(literal 1 binary64))
(/.f64 (-.f64 %580 (*.f64 %376 %18)) #s(literal 2 binary64))
(/.f64 (-.f64 %580 (*.f64 z %211)) #s(literal 2 binary64))
(/.f64 (-.f64 %580 (*.f64 %211 z)) #s(literal 2 binary64))
(/.f64 (-.f64 %580 (*.f64 %18 %376)) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %560 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %560))
(fma.f64 %357 #s(literal 1/2 binary64) %7)
(fma.f64 %360 #s(literal -1/2 binary64) %7)
(fma.f64 %362 %363 %7)
(fma.f64 %365 z %7)
(fma.f64 %440 #s(literal 1/2 binary64) %601)
(fma.f64 %440 #s(literal 1/2 binary64) %559)
(fma.f64 %356 %367 %7)
(fma.f64 %356 #s(literal 1/2 binary64) %601)
(fma.f64 %356 #s(literal 1/2 binary64) %559)
(fma.f64 %359 %369 %7)
(fma.f64 %359 #s(literal -1/2 binary64) %601)
(fma.f64 %359 #s(literal -1/2 binary64) %559)
(fma.f64 %363 #s(literal -2 binary64) %601)
(fma.f64 %363 #s(literal -2 binary64) %559)
(fma.f64 %374 #s(literal 2 binary64) %601)
(fma.f64 %374 #s(literal 2 binary64) %559)
(fma.f64 z %371 %7)
(fma.f64 z #s(literal -1 binary64) %601)
(fma.f64 z #s(literal -1 binary64) %559)
(fma.f64 z %28 %7)
(fma.f64 z x %618)
(fma.f64 %211 %374 %7)
(fma.f64 #s(literal -1/2 binary64) %359 %601)
(fma.f64 #s(literal -1/2 binary64) %359 %559)
(fma.f64 %2 %3 %373)
(fma.f64 %376 %210 %7)
(fma.f64 %376 #s(literal 1 binary64) %601)
(fma.f64 %376 #s(literal 1 binary64) %559)
(fma.f64 #s(literal -2 binary64) %378 %7)
(fma.f64 #s(literal -2 binary64) %363 %601)
(fma.f64 #s(literal -2 binary64) %363 %559)
(fma.f64 %3 %2 %373)
(fma.f64 #s(literal 1/2 binary64) %505 %601)
(fma.f64 #s(literal 1/2 binary64) %505 %559)
(fma.f64 #s(literal 1/2 binary64) %356 %601)
(fma.f64 #s(literal 1/2 binary64) %356 %559)
(fma.f64 #s(literal 2 binary64) %380 %7)
(fma.f64 #s(literal 2 binary64) %374 %601)
(fma.f64 #s(literal 2 binary64) %374 %559)
(fma.f64 %382 #s(literal -1 binary64) %7)
(fma.f64 #s(literal -1 binary64) z %601)
(fma.f64 #s(literal -1 binary64) z %559)
(fma.f64 #s(literal -1 binary64) %382 %7)
(fma.f64 %210 %376 %7)
(fma.f64 %28 z %7)
(fma.f64 #s(literal 1 binary64) %559 %376)
(fma.f64 #s(literal 1 binary64) %618 %389)
(fma.f64 #s(literal 1 binary64) %389 %618)
(fma.f64 #s(literal 1 binary64) %376 %601)
(fma.f64 #s(literal 1 binary64) %376 %559)
(fma.f64 #s(literal 1 binary64) %373 %7)
(fma.f64 #s(literal 1 binary64) %7 %373)
(fma.f64 y x %373)
(fma.f64 x %558 %376)
(fma.f64 x z %618)
(fma.f64 x y %373)
(-.f64 (-.f64 %7 z) %445)
%560
(-.f64 %389 (-.f64 z %7))
(-.f64 %389 (+.f64 z %14))
(-.f64 %389 (neg.f64 %618))
(-.f64 %373 %14)
(-.f64 %7 %382)
(+.f64 %559 %376)
(+.f64 %618 %389)
(+.f64 %389 %618)
(+.f64 %376 %601)
(+.f64 %376 %559)
(+.f64 %373 %7)
(+.f64 %7 %373)

reconstruct33.0ms (2.1%)

Counts
416 → 39
Compiler

Compiled 416 to 711 computations (-70.9% saved)

eval3.0ms (0.2%)

Compiler

Compiled 36 to 122 computations (-238.9% saved)

prune1.0ms (0.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New30636
Fresh000
Picked101
Done000
Total31637
Accuracy
100.0%
Counts
37 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 z (-.f64 x #s(literal 1 binary64)) (*.f64 y x))
100.0%
(-.f64 (*.f64 x (+.f64 y z)) z)
65.7%
(+.f64 (*.f64 x y) (approx (* (- x 1) z) (*.f64 x z)))
98.8%
(approx (+ (* x y) (* (- x 1) z)) (fma.f64 x y (*.f64 z (-.f64 x #s(literal 1 binary64)))))
57.6%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
67.7%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
Compiler

Compiled 6 to 15 computations (-150.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series19.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0146617
Stop Event
iter-limit
Counts
19 → 43
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 x #s(literal 1 binary64))
%6 = (*.f64 x z)
%7 = (+.f64 y z)
%8 = (*.f64 x %7)
%11 = (* (- x 1) z)
%12 = (approx %11 %6)
%14 = (+ (* x y) %11)
%16 = (*.f64 z %4)
%18 = (fma.f64 x y %16)
%20 = (*.f64 y x)
x
y
%2
#s(literal 1 binary64)
%4
z
%6
%7
%8
%12
(approx %14 %8)
%16
(approx %14 %16)
%18
(approx %14 %18)
%20
(-.f64 %8 z)
(fma.f64 z %4 %20)
(+.f64 %2 %12)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (- x 1)
%13 = (-.f64 x #s(literal 1 binary64))
%17 = (*.f64 x z)
%19 = (+ y z)
%20 = (* x %19)
%21 = (+.f64 y z)
%22 = (*.f64 x %21)
%24 = (* %9 z)
%25 = (*.f64 #s(literal -1 binary64) z)
%29 = (+ %5 %24)
%32 = (- %20 z)
%35 = (/.f64 #s(literal 1 binary64) x)
%39 = (/.f64 z x)
%41 = (+.f64 z (*.f64 #s(literal -1 binary64) %39))
%51 = (fma.f64 #s(literal -1 binary64) z %39)
%70 = (fma.f64 x y %17)
%72 = (*.f64 z %13)
%76 = (-.f64 %17 z)
%80 = (/.f64 z y)
%84 = (/.f64 %17 y)
%85 = (+.f64 x %84)
%88 = (/.f64 %72 y)
%116 = (/.f64 y z)
%120 = (/.f64 %6 z)
%121 = (+.f64 x %120)
%132 = (*.f64 #s(literal -1 binary64) %120)
%133 = (fma.f64 #s(literal -1 binary64) x %132)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 #s(literal -1 binary64))
(approx %9 %13)
(approx (* x z) %17)
(approx %20 %22)
(approx %24 %25)
(approx %24 (fma.f64 #s(literal -1 binary64) z %17))
(approx %29 (fma.f64 #s(literal -1 binary64) z %22))
(approx %32 (-.f64 %22 z))
(approx %9 (*.f64 x (-.f64 #s(literal 1 binary64) %35)))
(approx %24 (*.f64 x %41))
(approx %29 (*.f64 x (+.f64 y %41)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %35 #s(literal 1 binary64)))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x %51)))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %25))))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %51))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %21 %39))))
(approx y y)
(approx %19 z)
(approx %19 %21)
(approx %20 %70)
(approx %29 %72)
(approx %29 (fma.f64 x y %72))
(approx %32 %76)
(approx %32 (-.f64 %70 z))
(approx %19 (*.f64 y (+.f64 #s(literal 1 binary64) %80)))
(approx %20 (*.f64 y %85))
(approx %29 (*.f64 y (+.f64 x %88)))
(approx %32 (*.f64 y (-.f64 %85 %80)))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %80) #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %84)))))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %88)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %76 y))))))
(approx %19 (*.f64 z (+.f64 #s(literal 1 binary64) %116)))
(approx %20 (*.f64 z %121))
(approx %29 (*.f64 z (-.f64 %121 #s(literal 1 binary64))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %116) #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z %133)))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %13 %132))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) %133))))
Calls

9 calls:

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

rewrite99.0ms (6.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023122
036120
1100120
2216113
3604113
42139113
04281113
04557112
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
19 → 676
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 x #s(literal 1 binary64))
%6 = (*.f64 x z)
%7 = (+.f64 y z)
%8 = (*.f64 x %7)
%11 = (* (- x 1) z)
%12 = (approx %11 %6)
%14 = (+ (* x y) %11)
%16 = (*.f64 z %4)
%18 = (fma.f64 x y %16)
%20 = (*.f64 y x)
x
y
%2
#s(literal 1 binary64)
%4
z
%6
%7
%8
%12
(approx %14 %8)
%16
(approx %14 %16)
%18
(approx %14 %18)
%20
(-.f64 %8 z)
(fma.f64 z %4 %20)
(+.f64 %2 %12)
Outputs
%2 = (neg.f64 x)
%3 = (neg.f64 y)
%4 = (*.f64 %2 %3)
%5 = (*.f64 %3 %2)
%7 = (*.f64 y x)
%8 = (*.f64 #s(literal 1 binary64) %7)
%9 = (*.f64 x y)
%10 = (pow.f64 %7 #s(literal 1 binary64))
%13 = (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
%14 = (*.f64 %3 x)
%15 = (neg.f64 %14)
%18 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%20 = (/.f64 %18 #s(literal 8 binary64))
%23 = (/.f64 %18 #s(literal 4 binary64))
%27 = (-.f64 x #s(literal 1 binary64))
%30 = (+.f64 x x)
%34 = (/.f64 %18 #s(literal 1/2 binary64))
%39 = (-.f64 (*.f64 %18 #s(literal 2 binary64)) #s(literal 0 binary64))
%42 = (fma.f64 x #s(literal -2 binary64) #s(literal 2 binary64))
%45 = (*.f64 x #s(literal -2 binary64))
%46 = (-.f64 %45 #s(literal -2 binary64))
%49 = (/.f64 %18 #s(literal 1 binary64))
%52 = (-.f64 x #s(literal 1/2 binary64))
%54 = (-.f64 (*.f64 %52 #s(literal 2 binary64)) #s(literal 1 binary64))
%57 = (*.f64 %27 #s(literal 2 binary64))
%58 = (-.f64 %57 #s(literal 0 binary64))
%62 = (-.f64 (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
%65 = (-.f64 #s(literal 1 binary64) x)
%66 = (*.f64 #s(literal 2 binary64) %65)
%67 = (neg.f64 %66)
%72 = (neg.f64 %18)
%145 = (-.f64 x #s(literal 0 binary64))
%147 = (/.f64 %30 #s(literal 2 binary64))
%164 = (/.f64 %52 #s(literal 1 binary64))
%166 = (/.f64 x #s(literal 1 binary64))
%172 = (-.f64 #s(literal -1/2 binary64) %2)
%175 = (+.f64 #s(literal -1/2 binary64) x)
%182 = (-.f64 #s(literal 0 binary64) %2)
%185 = (+.f64 #s(literal 0 binary64) x)
%199 = (+.f64 z z)
%200 = (*.f64 x %199)
%202 = (*.f64 #s(literal -2 binary64) z)
%203 = (*.f64 x %202)
%205 = (*.f64 x #s(literal -1 binary64))
%206 = (neg.f64 z)
%208 = (*.f64 %2 %202)
%210 = (*.f64 %2 %199)
%212 = (*.f64 %2 #s(literal -1 binary64))
%214 = (*.f64 #s(literal -1/2 binary64) z)
%216 = (*.f64 %2 #s(literal -2 binary64))
%217 = (*.f64 #s(literal 1/2 binary64) z)
%219 = (*.f64 #s(literal -1/2 binary64) %2)
%221 = (*.f64 #s(literal 1/2 binary64) x)
%223 = (*.f64 #s(literal -1/2 binary64) x)
%225 = (*.f64 #s(literal 1/2 binary64) %2)
%227 = (neg.f64 %30)
%230 = (*.f64 %214 x)
%232 = (*.f64 %217 %2)
%235 = (*.f64 %206 x)
%237 = (*.f64 %217 x)
%239 = (*.f64 %214 %2)
%242 = (*.f64 #s(literal -1 binary64) x)
%245 = (*.f64 #s(literal -1 binary64) %2)
%247 = (*.f64 z x)
%254 = (+.f64 z y)
%259 = (neg.f64 %254)
%266 = (*.f64 %254 x)
%272 = (*.f64 %259 x)
%313 = (approx (* z (- x 1)) %247)
%318 = (neg.f64 %313)
%322 = (- (* (+ z y) x) z)
%323 = (approx %322 %266)
%328 = (*.f64 %65 %199)
%330 = (*.f64 %65 %202)
%332 = (*.f64 %65 #s(literal -2 binary64))
%334 = (*.f64 %65 #s(literal -1 binary64))
%336 = (*.f64 %27 %202)
%338 = (*.f64 %27 %199)
%340 = (*.f64 %27 #s(literal -2 binary64))
%342 = (*.f64 %27 #s(literal -1 binary64))
%345 = (*.f64 #s(literal 1/2 binary64) %27)
%347 = (*.f64 #s(literal -1/2 binary64) %65)
%349 = (*.f64 #s(literal -1/2 binary64) %27)
%351 = (*.f64 #s(literal 1/2 binary64) %65)
%354 = (*.f64 %214 %27)
%356 = (*.f64 %217 %65)
%358 = (*.f64 %217 %27)
%360 = (*.f64 %214 %65)
%362 = (-.f64 z %247)
%366 = (*.f64 #s(literal -1 binary64) %27)
%369 = (*.f64 #s(literal -1 binary64) %65)
%371 = (*.f64 z %27)
%375 = (*.f64 %206 %66)
%378 = (*.f64 z %18)
%381 = (*.f64 %66 %206)
%384 = (*.f64 %18 z)
%394 = (*.f64 %206 #s(literal 0 binary64))
%396 = (*.f64 #s(literal 0 binary64) %206)
%422 = (-.f64 #s(literal 1/2 binary64) x)
%440 = (*.f64 %206 %422)
%442 = (*.f64 %422 %206)
%457 = (*.f64 %217 #s(literal 1 binary64))
%462 = (*.f64 #s(literal 4 binary64) %214)
%473 = (*.f64 %214 #s(literal 1 binary64))
%524 = (approx %322 %371)
%529 = (-.f64 %266 z)
%530 = (*.f64 #s(literal 1 binary64) %529)
%531 = (pow.f64 %529 #s(literal 1 binary64))
%533 = (/.f64 #s(literal 1 binary64) (pow.f64 %529 #s(literal -1 binary64)))
%535 = (neg.f64 (-.f64 z %266))
%536 = (fma.f64 %328 #s(literal -1/2 binary64) %7)
%537 = (fma.f64 %330 #s(literal 1/2 binary64) %7)
%538 = (fma.f64 %332 %217 %7)
%539 = (fma.f64 %334 z %7)
%540 = (fma.f64 %336 #s(literal -1/2 binary64) %7)
%541 = (fma.f64 %338 #s(literal 1/2 binary64) %7)
%542 = (fma.f64 %340 %214 %7)
%543 = (fma.f64 %342 %206 %7)
%544 = (-.f64 %7 z)
%545 = (fma.f64 %200 #s(literal 1/2 binary64) %544)
%546 = (fma.f64 %203 #s(literal -1/2 binary64) %544)
%547 = (fma.f64 %205 %206 %544)
%548 = (fma.f64 %208 #s(literal 1/2 binary64) %544)
%549 = (fma.f64 %210 #s(literal -1/2 binary64) %544)
%550 = (fma.f64 %212 z %544)
%551 = (fma.f64 %57 %217 %7)
%552 = (fma.f64 %45 %214 %544)
%553 = (fma.f64 %216 %217 %544)
%554 = (fma.f64 %199 %345 %7)
%555 = (fma.f64 %199 %347 %7)
%556 = (fma.f64 %199 %219 %544)
%557 = (fma.f64 %199 %221 %544)
%558 = (fma.f64 %199 #s(literal -1/2 binary64) %266)
%559 = (fma.f64 %202 %349 %7)
%560 = (fma.f64 %202 %351 %7)
%561 = (fma.f64 %202 %223 %544)
%562 = (fma.f64 %202 %225 %544)
%563 = (fma.f64 %202 #s(literal 1/2 binary64) %266)
%564 = (fma.f64 %214 #s(literal 2 binary64) %266)
%565 = (fma.f64 %217 #s(literal -2 binary64) %266)
%566 = (fma.f64 %66 %214 %7)
%567 = (fma.f64 %227 %214 %544)
%568 = (fma.f64 %30 %217 %544)
%569 = (fma.f64 #s(literal -1/2 binary64) %199 %266)
%570 = (fma.f64 #s(literal -2 binary64) %354 %7)
%571 = (fma.f64 #s(literal -2 binary64) %356 %7)
%572 = (fma.f64 #s(literal -2 binary64) %230 %544)
%573 = (fma.f64 #s(literal -2 binary64) %232 %544)
%574 = (fma.f64 #s(literal -2 binary64) %457 %266)
%575 = (fma.f64 #s(literal -2 binary64) %217 %266)
%576 = (fma.f64 %2 %259 %206)
%577 = (fma.f64 %2 %3 %371)
%578 = (fma.f64 %2 %206 %544)
%579 = (fma.f64 %259 %2 %206)
%580 = (fma.f64 %235 #s(literal -1 binary64) %544)
%581 = (fma.f64 #s(literal 1/2 binary64) %462 %266)
%582 = (fma.f64 #s(literal 1/2 binary64) %202 %266)
%583 = (fma.f64 #s(literal 2 binary64) %358 %7)
%584 = (fma.f64 #s(literal 2 binary64) %360 %7)
%585 = (fma.f64 #s(literal 2 binary64) %237 %544)
%586 = (fma.f64 #s(literal 2 binary64) %239 %544)
%587 = (fma.f64 #s(literal 2 binary64) %473 %266)
%588 = (fma.f64 #s(literal 2 binary64) %214 %266)
%589 = (fma.f64 %3 %2 %371)
%590 = (fma.f64 #s(literal -1 binary64) %235 %544)
%591 = (fma.f64 #s(literal -1 binary64) %362 %7)
%592 = (fma.f64 #s(literal -1 binary64) z %266)
%593 = (fma.f64 %65 %206 %7)
%594 = (fma.f64 %362 #s(literal -1 binary64) %7)
%595 = (fma.f64 %206 %366 %7)
%596 = (fma.f64 %206 %242 %544)
%597 = (fma.f64 %206 %2 %544)
%598 = (fma.f64 %206 %65 %7)
%599 = (fma.f64 %206 #s(literal 1 binary64) %266)
%600 = (fma.f64 %254 x %206)
%601 = (fma.f64 z %369 %7)
%602 = (fma.f64 z %245 %544)
%603 = (fma.f64 z #s(literal -1 binary64) %266)
%604 = (fma.f64 z %27 %7)
%605 = (fma.f64 z x %544)
%606 = (fma.f64 %27 z %7)
%607 = (fma.f64 #s(literal 1 binary64) %544 %247)
%608 = (fma.f64 #s(literal 1 binary64) %206 %266)
%609 = (fma.f64 #s(literal 1 binary64) %371 %7)
%610 = (fma.f64 #s(literal 1 binary64) %266 %206)
%611 = (fma.f64 #s(literal 1 binary64) %247 %544)
%612 = (fma.f64 #s(literal 1 binary64) %7 %371)
%613 = (fma.f64 y x %371)
%614 = (fma.f64 x %254 %206)
%615 = (fma.f64 x z %544)
%616 = (fma.f64 x y %371)
%617 = (-.f64 %544 %235)
%618 = (-.f64 %206 %272)
%619 = (-.f64 %371 %14)
%621 = (-.f64 %247 (-.f64 %14 %206))
%623 = (-.f64 %247 (-.f64 z %7))
%624 = (-.f64 %7 %362)
%625 = (+.f64 %544 %247)
%626 = (+.f64 %206 %266)
%627 = (+.f64 %371 %7)
%628 = (+.f64 %266 %206)
%629 = (+.f64 %247 %544)
%630 = (+.f64 %7 %371)
%631 = (approx %322 %529)
%636 = (fma.f64 y x %313)
x
y
%4
%5
%8
%7
%9
%10
%13
%15
#s(literal 1 binary64)
(*.f64 %20 #s(literal 4 binary64))
(*.f64 %23 #s(literal 2 binary64))
(*.f64 %18 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %27)
(pow.f64 %27 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal -1 binary64) (-.f64 %30 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 %34 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %39 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %42 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %46 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %54 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %62 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 %67 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %27 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %72 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %34 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %39 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %42 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %46 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %72 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %66 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %54 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %67 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %62 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (neg.f64 %34) #s(literal -4 binary64))
(/.f64 (neg.f64 %49) #s(literal -2 binary64))
(/.f64 (neg.f64 %42) #s(literal 2 binary64))
(/.f64 (neg.f64 %54) #s(literal -2 binary64))
(/.f64 (neg.f64 %58) #s(literal -2 binary64))
(/.f64 (neg.f64 %46) #s(literal 2 binary64))
(/.f64 (neg.f64 %62) #s(literal -1 binary64))
(/.f64 (neg.f64 %39) #s(literal -4 binary64))
(/.f64 (neg.f64 %72) #s(literal 2 binary64))
(/.f64 (neg.f64 %67) #s(literal -2 binary64))
(/.f64 %34 #s(literal 4 binary64))
(/.f64 %49 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %30) #s(literal -2 binary64))
(/.f64 %42 #s(literal -2 binary64))
(/.f64 %54 #s(literal 2 binary64))
(/.f64 %58 #s(literal 2 binary64))
(/.f64 %46 #s(literal -2 binary64))
(/.f64 %62 #s(literal 1 binary64))
(/.f64 %39 #s(literal 4 binary64))
(/.f64 %72 #s(literal -2 binary64))
(/.f64 %67 #s(literal 2 binary64))
(/.f64 %66 #s(literal -2 binary64))
(/.f64 %18 #s(literal 2 binary64))
(/.f64 %65 #s(literal -1 binary64))
(/.f64 %27 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1 binary64)))
(neg.f64 %65)
(fma.f64 %20 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %23 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %18 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %52 #s(literal -1/2 binary64))
(fma.f64 #s(literal 1 binary64) %27 #s(literal 0 binary64))
(-.f64 %145 #s(literal 1 binary64))
(-.f64 %147 #s(literal 1 binary64))
(-.f64 %52 #s(literal 1/2 binary64))
(-.f64 #s(literal -1 binary64) %2)
(-.f64 %27 #s(literal 0 binary64))
%27
(+.f64 (/.f64 (fma.f64 %2 #s(literal 2 binary64) #s(literal 3/2 binary64)) #s(literal -2 binary64)) #s(literal -1/4 binary64))
(+.f64 (/.f64 (fma.f64 %2 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal -2 binary64)) #s(literal -3/4 binary64))
(+.f64 (/.f64 (fma.f64 %2 #s(literal 2 binary64) #s(literal 1 binary64)) #s(literal -2 binary64)) #s(literal -1/2 binary64))
(+.f64 %164 #s(literal -1/2 binary64))
(+.f64 %166 #s(literal -1 binary64))
(+.f64 (-.f64 %27 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %147 #s(literal -1 binary64))
(+.f64 %52 #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (/.f64 %172 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) (/.f64 %175 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) %164)
(+.f64 #s(literal -1/2 binary64) %172)
(+.f64 #s(literal -1/2 binary64) %175)
(+.f64 #s(literal -1/2 binary64) %52)
(+.f64 #s(literal -1 binary64) (/.f64 %182 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) (/.f64 %185 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) (/.f64 %145 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) %166)
(+.f64 #s(literal -1 binary64) %182)
(+.f64 #s(literal -1 binary64) %185)
(+.f64 #s(literal -1 binary64) %145)
(+.f64 #s(literal -1 binary64) %147)
(+.f64 #s(literal -1 binary64) x)
(+.f64 %27 #s(literal 0 binary64))
(+.f64 x #s(literal -1 binary64))
z
(*.f64 %200 #s(literal 1/2 binary64))
(*.f64 %203 #s(literal -1/2 binary64))
(*.f64 %205 %206)
(*.f64 %208 #s(literal 1/2 binary64))
(*.f64 %210 #s(literal -1/2 binary64))
(*.f64 %212 z)
(*.f64 %45 %214)
(*.f64 %216 %217)
(*.f64 %199 %219)
(*.f64 %199 %221)
(*.f64 %202 %223)
(*.f64 %202 %225)
(*.f64 %227 %214)
(*.f64 %30 %217)
(*.f64 #s(literal -2 binary64) %230)
(*.f64 #s(literal -2 binary64) %232)
(*.f64 %2 %206)
(*.f64 %235 #s(literal -1 binary64))
(*.f64 #s(literal 2 binary64) %237)
(*.f64 #s(literal 2 binary64) %239)
(*.f64 #s(literal -1 binary64) %235)
(*.f64 %206 %242)
(*.f64 %206 %2)
(*.f64 z %245)
%247
(*.f64 #s(literal 1 binary64) %247)
(*.f64 x z)
(pow.f64 %247 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %247 #s(literal -1 binary64)))
(neg.f64 %235)
(*.f64 #s(literal 1 binary64) %254)
(pow.f64 %254 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %254 #s(literal -1 binary64)))
(neg.f64 %259)
(-.f64 z %3)
(-.f64 y %206)
%254
(+.f64 y z)
(*.f64 %2 %259)
(*.f64 %259 %2)
%266
(*.f64 #s(literal 1 binary64) %266)
(*.f64 x %254)
(pow.f64 %266 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %266 #s(literal -1 binary64)))
(neg.f64 %272)
(fma.f64 %200 #s(literal 1/2 binary64) %7)
(fma.f64 %203 #s(literal -1/2 binary64) %7)
(fma.f64 %205 %206 %7)
(fma.f64 %208 #s(literal 1/2 binary64) %7)
(fma.f64 %210 #s(literal -1/2 binary64) %7)
(fma.f64 %212 z %7)
(fma.f64 %45 %214 %7)
(fma.f64 %216 %217 %7)
(fma.f64 %199 %219 %7)
(fma.f64 %199 %221 %7)
(fma.f64 %202 %223 %7)
(fma.f64 %202 %225 %7)
(fma.f64 %227 %214 %7)
(fma.f64 %30 %217 %7)
(fma.f64 #s(literal -2 binary64) %230 %7)
(fma.f64 #s(literal -2 binary64) %232 %7)
(fma.f64 %2 %3 %247)
(fma.f64 %2 %206 %7)
(fma.f64 %235 #s(literal -1 binary64) %7)
(fma.f64 #s(literal 2 binary64) %237 %7)
(fma.f64 #s(literal 2 binary64) %239 %7)
(fma.f64 %3 %2 %247)
(fma.f64 #s(literal -1 binary64) %235 %7)
(fma.f64 %206 %242 %7)
(fma.f64 %206 %2 %7)
(fma.f64 z %245 %7)
(fma.f64 z x %7)
(fma.f64 #s(literal 1 binary64) %247 %7)
(fma.f64 #s(literal 1 binary64) %7 %247)
(fma.f64 y x %247)
(fma.f64 x z %7)
(fma.f64 x y %247)
(-.f64 %247 %14)
(-.f64 %7 %235)
(+.f64 %247 %7)
(+.f64 %7 %247)
(*.f64 #s(literal 1 binary64) %313)
(pow.f64 %313 #s(literal 1 binary64))
%313
(/.f64 #s(literal 1 binary64) (pow.f64 %313 #s(literal -1 binary64)))
(neg.f64 %318)
(*.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 %328 #s(literal -1/2 binary64))
(*.f64 %330 #s(literal 1/2 binary64))
(*.f64 %332 %217)
(*.f64 %334 z)
(*.f64 %336 #s(literal -1/2 binary64))
(*.f64 %338 #s(literal 1/2 binary64))
(*.f64 %340 %214)
(*.f64 %342 %206)
(*.f64 %57 %217)
(*.f64 %199 %345)
(*.f64 %199 %347)
(*.f64 %202 %349)
(*.f64 %202 %351)
(*.f64 %66 %214)
(*.f64 #s(literal -2 binary64) %354)
(*.f64 #s(literal -2 binary64) %356)
(*.f64 #s(literal 2 binary64) %358)
(*.f64 #s(literal 2 binary64) %360)
(*.f64 #s(literal -1 binary64) %362)
(*.f64 %65 %206)
(*.f64 %362 #s(literal -1 binary64))
(*.f64 %206 %366)
(*.f64 %206 %65)
(*.f64 z %369)
%371
(*.f64 %27 z)
(*.f64 #s(literal 1 binary64) %371)
(pow.f64 %371 #s(literal 1 binary64))
(/.f64 (neg.f64 %375) #s(literal -2 binary64))
(/.f64 (neg.f64 %378) #s(literal -2 binary64))
(/.f64 (neg.f64 %381) #s(literal -2 binary64))
(/.f64 (neg.f64 %384) #s(literal -2 binary64))
(/.f64 %375 #s(literal 2 binary64))
(/.f64 %378 #s(literal 2 binary64))
(/.f64 %381 #s(literal 2 binary64))
(/.f64 %384 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %371 #s(literal -1 binary64)))
(neg.f64 %362)
(fma.f64 %328 #s(literal -1/2 binary64) %394)
(fma.f64 %328 #s(literal -1/2 binary64) %396)
(fma.f64 %330 #s(literal 1/2 binary64) %394)
(fma.f64 %330 #s(literal 1/2 binary64) %396)
(fma.f64 %332 %217 %394)
(fma.f64 %332 %217 %396)
(fma.f64 %334 z %394)
(fma.f64 %334 z %396)
(fma.f64 %336 #s(literal -1/2 binary64) %394)
(fma.f64 %336 #s(literal -1/2 binary64) %396)
(fma.f64 %338 #s(literal 1/2 binary64) %394)
(fma.f64 %338 #s(literal 1/2 binary64) %396)
(fma.f64 %340 %214 %394)
(fma.f64 %340 %214 %396)
(fma.f64 %342 %206 %394)
(fma.f64 %342 %206 %396)
(fma.f64 %200 #s(literal 1/2 binary64) %206)
(fma.f64 %203 #s(literal -1/2 binary64) %206)
(fma.f64 %205 %206 %206)
(fma.f64 %208 #s(literal 1/2 binary64) %206)
(fma.f64 %210 #s(literal -1/2 binary64) %206)
(fma.f64 %212 z %206)
(fma.f64 %57 %217 %394)
(fma.f64 %57 %217 %396)
(fma.f64 %45 %214 %206)
(fma.f64 %216 %217 %206)
(fma.f64 %422 %206 %214)
(fma.f64 %199 %345 %394)
(fma.f64 %199 %345 %396)
(fma.f64 %199 %347 %394)
(fma.f64 %199 %347 %396)
(fma.f64 %199 %219 %206)
(fma.f64 %199 %221 %206)
(fma.f64 %199 #s(literal -1/2 binary64) %247)
(fma.f64 %202 %349 %394)
(fma.f64 %202 %349 %396)
(fma.f64 %202 %351 %394)
(fma.f64 %202 %351 %396)
(fma.f64 %202 %223 %206)
(fma.f64 %202 %225 %206)
(fma.f64 %202 #s(literal 1/2 binary64) %247)
(fma.f64 %214 #s(literal 2 binary64) %247)
(fma.f64 %217 #s(literal -2 binary64) %247)
(fma.f64 %217 #s(literal -1 binary64) %440)
(fma.f64 %217 #s(literal -1 binary64) %442)
(fma.f64 %66 %214 %394)
(fma.f64 %66 %214 %396)
(fma.f64 %227 %214 %206)
(fma.f64 %30 %217 %206)
(fma.f64 #s(literal -1/2 binary64) %199 %247)
(fma.f64 #s(literal -1/2 binary64) z %440)
(fma.f64 #s(literal -1/2 binary64) z %442)
(fma.f64 #s(literal -2 binary64) %354 %394)
(fma.f64 #s(literal -2 binary64) %354 %396)
(fma.f64 #s(literal -2 binary64) %356 %394)
(fma.f64 #s(literal -2 binary64) %356 %396)
(fma.f64 #s(literal -2 binary64) %230 %206)
(fma.f64 #s(literal -2 binary64) %232 %206)
(fma.f64 #s(literal -2 binary64) %457 %247)
(fma.f64 #s(literal -2 binary64) %217 %247)
(fma.f64 %2 %206 %206)
(fma.f64 %235 #s(literal -1 binary64) %206)
(fma.f64 #s(literal 1/2 binary64) %462 %247)
(fma.f64 #s(literal 1/2 binary64) %202 %247)
(fma.f64 #s(literal 1/2 binary64) %206 %440)
(fma.f64 #s(literal 1/2 binary64) %206 %442)
(fma.f64 #s(literal 2 binary64) %358 %394)
(fma.f64 #s(literal 2 binary64) %358 %396)
(fma.f64 #s(literal 2 binary64) %360 %394)
(fma.f64 #s(literal 2 binary64) %360 %396)
(fma.f64 #s(literal 2 binary64) %237 %206)
(fma.f64 #s(literal 2 binary64) %239 %206)
(fma.f64 #s(literal 2 binary64) %473 %247)
(fma.f64 #s(literal 2 binary64) %214 %247)
(fma.f64 #s(literal -1 binary64) %217 %440)
(fma.f64 #s(literal -1 binary64) %217 %442)
(fma.f64 #s(literal -1 binary64) %235 %206)
(fma.f64 #s(literal -1 binary64) %362 %394)
(fma.f64 #s(literal -1 binary64) %362 %396)
(fma.f64 #s(literal -1 binary64) z %247)
(fma.f64 %65 %206 %394)
(fma.f64 %65 %206 %396)
(fma.f64 %362 #s(literal -1 binary64) %394)
(fma.f64 %362 #s(literal -1 binary64) %396)
(fma.f64 %206 %366 %394)
(fma.f64 %206 %366 %396)
(fma.f64 %206 %242 %206)
(fma.f64 %206 %422 %214)
(fma.f64 %206 %2 %206)
(fma.f64 %206 #s(literal 1/2 binary64) %440)
(fma.f64 %206 #s(literal 1/2 binary64) %442)
(fma.f64 %206 %65 %394)
(fma.f64 %206 %65 %396)
(fma.f64 %206 #s(literal 1 binary64) %247)
(fma.f64 z %369 %394)
(fma.f64 z %369 %396)
(fma.f64 z %245 %206)
(fma.f64 z #s(literal -1/2 binary64) %440)
(fma.f64 z #s(literal -1/2 binary64) %442)
(fma.f64 z #s(literal -1 binary64) %247)
(fma.f64 z %27 %394)
(fma.f64 z %27 %396)
(fma.f64 z x %206)
(fma.f64 %27 z %394)
(fma.f64 %27 z %396)
(fma.f64 #s(literal 1 binary64) %214 %440)
(fma.f64 #s(literal 1 binary64) %214 %442)
(fma.f64 #s(literal 1 binary64) %206 %247)
(fma.f64 #s(literal 1 binary64) %371 %394)
(fma.f64 #s(literal 1 binary64) %371 %396)
(fma.f64 #s(literal 1 binary64) %247 %206)
(fma.f64 x z %206)
(-.f64 %206 %235)
(-.f64 %247 z)
(+.f64 %440 %214)
(+.f64 %442 %214)
(+.f64 %214 %440)
(+.f64 %214 %442)
(+.f64 %206 %247)
(+.f64 %371 %394)
(+.f64 %371 %396)
(+.f64 %247 %206)
(*.f64 #s(literal 1 binary64) %524)
(pow.f64 %524 #s(literal 1 binary64))
%524
(/.f64 #s(literal 1 binary64) (pow.f64 %524 #s(literal -1 binary64)))
%530
%531
%533
%535
%536
%537
%538
%539
%540
%541
%542
%543
%545
%546
%547
%548
%549
%550
%551
%552
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%567
%568
%569
%570
%571
%572
%573
%574
%575
%576
%577
%578
%579
%580
%581
%582
%583
%584
%585
%586
%587
%588
%589
%590
%591
%592
%593
%594
%595
%596
%597
%598
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%611
%612
%613
%614
%615
%616
%617
%618
%619
%529
%621
%623
%624
%625
%626
%627
%628
%629
%630
(*.f64 #s(literal 1 binary64) %631)
(pow.f64 %631 #s(literal 1 binary64))
%631
(/.f64 #s(literal 1 binary64) (pow.f64 %631 #s(literal -1 binary64)))
%4
%5
%8
%7
%9
%10
%13
%15
%530
%531
%533
%535
%536
%537
%538
%539
%540
%541
%542
%543
%545
%546
%547
%548
%549
%550
%551
%552
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%567
%568
%569
%570
%571
%572
%573
%574
%575
%576
%577
%578
%579
%580
%581
%582
%583
%584
%585
%586
%587
%588
%589
%590
%591
%592
%593
%594
%595
%596
%597
%598
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%611
%612
%613
%614
%615
%616
%617
%618
%619
%529
%621
%623
%624
%625
%626
%627
%628
%629
%630
%530
%531
%533
%535
%536
%537
%538
%539
%540
%541
%542
%543
%545
%546
%547
%548
%549
%550
%551
%552
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%567
%568
%569
%570
%571
%572
%573
%574
%575
%576
%577
%578
%579
%580
%581
%582
%583
%584
%585
%586
%587
%588
%589
%590
%591
%592
%593
%594
%595
%596
%597
%598
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%611
%612
%613
%614
%615
%616
%617
%618
%619
%529
%621
%623
%624
%625
%626
%627
%628
%629
%630
(*.f64 #s(literal 1 binary64) %636)
(pow.f64 %636 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %636 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %636))
(fma.f64 %2 %3 %313)
(fma.f64 %3 %2 %313)
(fma.f64 #s(literal 1 binary64) %313 %7)
(fma.f64 #s(literal 1 binary64) %7 %313)
%636
(fma.f64 x y %313)
(-.f64 %313 %14)
(-.f64 %7 %318)
(+.f64 %313 %7)
(+.f64 %7 %313)

reconstruct55.0ms (3.5%)

Counts
719 → 87
Compiler

Compiled 719 to 727 computations (-1.1% saved)

eval10.0ms (0.6%)

Compiler

Compiled 119 to 209 computations (-75.6% saved)

prune2.0ms (0.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1145119
Fresh000
Picked426
Done000
Total1187125
Accuracy
100.0%
Counts
125 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(fma.f64 z (approx (- x 1) #s(literal -1 binary64)) (*.f64 y x))
66.5%
(fma.f64 x y (approx (* z (- x 1)) (*.f64 z x)))
66.9%
(approx (+ (* x y) (* (- x 1) z)) (fma.f64 x z (*.f64 y x)))
57.6%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
33.1%
%4 = (- x 1)
(approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal -1 binary64))))
67.7%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
26.1%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (approx (+ y z) z)))
Compiler

Compiled 7 to 16 computations (-128.6% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series16.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0119471
Stop Event
iter-limit
Counts
17 → 35
Calls
Call 1
Inputs
%5 = (- x 1)
%6 = (approx %5 #s(literal -1 binary64))
%7 = (*.f64 y x)
%8 = (*.f64 z x)
%10 = (approx (+ y z) z)
%11 = (fma.f64 x z %7)
%13 = (approx (* z %5) %8)
%15 = (*.f64 x %10)
%18 = (+ (* x y) (* %5 z))
%20 = (*.f64 z %6)
x
y
z
#s(literal -1 binary64)
%6
%7
%8
%10
%11
%13
(fma.f64 x y %13)
%15
(approx %18 %15)
%20
(approx %18 %20)
(fma.f64 z %6 %7)
(approx %18 %11)
Outputs
%5 = (- x 1)
%9 = (-.f64 x #s(literal 1 binary64))
%12 = (* y x)
%13 = (*.f64 x y)
%17 = (*.f64 x z)
%20 = (+ (* x z) %12)
%21 = (+.f64 y z)
%22 = (*.f64 x %21)
%24 = (* z %5)
%25 = (*.f64 #s(literal -1 binary64) z)
%30 = (+ (* x y) %24)
%33 = (/.f64 #s(literal 1 binary64) x)
%37 = (/.f64 z x)
%39 = (+.f64 z (*.f64 #s(literal -1 binary64) %37))
%53 = (fma.f64 #s(literal -1 binary64) z %37)
%62 = (+ y z)
%67 = (*.f64 z %9)
%71 = (/.f64 z y)
%75 = (/.f64 %17 y)
%79 = (/.f64 %67 y)
%98 = (/.f64 y z)
%102 = (/.f64 %13 z)
%103 = (+.f64 x %102)
%114 = (*.f64 #s(literal -1 binary64) %102)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 #s(literal -1 binary64))
(approx %5 %9)
(approx %12 %13)
(approx (* z x) %17)
(approx %20 %22)
(approx %24 %25)
(approx %24 (fma.f64 #s(literal -1 binary64) z %17))
(approx %30 (fma.f64 #s(literal -1 binary64) z %22))
(approx %5 (*.f64 x (-.f64 #s(literal 1 binary64) %33)))
(approx %24 (*.f64 x %39))
(approx %30 (*.f64 x (+.f64 y %39)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %33 #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %25))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x %53)))
(approx %30 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %53))))
(approx y y)
(approx %62 z)
(approx %62 %21)
(approx %20 (fma.f64 x y %17))
(approx %30 %67)
(approx %30 (fma.f64 x y %67))
(approx %62 (*.f64 y (+.f64 #s(literal 1 binary64) %71)))
(approx %20 (*.f64 y (+.f64 x %75)))
(approx %30 (*.f64 y (+.f64 x %79)))
(approx %62 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %71) #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %75)))))
(approx %30 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %79)))))
(approx %62 (*.f64 z (+.f64 #s(literal 1 binary64) %98)))
(approx %20 (*.f64 z %103))
(approx %30 (*.f64 z (-.f64 %103 #s(literal 1 binary64))))
(approx %62 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %98) #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x %114))))
(approx %30 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %9 %114))))
Calls

9 calls:

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

rewrite93.0ms (5.9%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024121
033121
197119
2201116
3522113
41788113
04132113
04456113
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
17 → 112
Calls
Call 1
Inputs
%5 = (- x 1)
%6 = (approx %5 #s(literal -1 binary64))
%7 = (*.f64 y x)
%8 = (*.f64 z x)
%10 = (approx (+ y z) z)
%11 = (fma.f64 x z %7)
%13 = (approx (* z %5) %8)
%15 = (*.f64 x %10)
%18 = (+ (* x y) (* %5 z))
%20 = (*.f64 z %6)
x
y
z
#s(literal -1 binary64)
%6
%7
%8
%10
%11
%13
(fma.f64 x y %13)
%15
(approx %18 %15)
%20
(approx %18 %20)
(fma.f64 z %6 %7)
(approx %18 %11)
Outputs
%6 = (- x 1)
%7 = (approx %6 #s(literal -1 binary64))
%12 = (neg.f64 %7)
%14 = (neg.f64 x)
%15 = (neg.f64 y)
%18 = (*.f64 y x)
%24 = (*.f64 %15 x)
%26 = (neg.f64 z)
%29 = (*.f64 z x)
%35 = (*.f64 %26 x)
%37 = (+ z y)
%38 = (approx %37 z)
%43 = (+.f64 z y)
%46 = (*.f64 %43 x)
%69 = (approx (* %6 z) %29)
%74 = (neg.f64 %69)
%76 = (fma.f64 y x %69)
%92 = (*.f64 %38 x)
%99 = (- (* %37 x) z)
%100 = (approx %99 %92)
%107 = (*.f64 %7 z)
%113 = (*.f64 %12 z)
%115 = (approx %99 %107)
%120 = (fma.f64 %7 z %18)
%140 = (approx %99 %46)
x
y
z
#s(literal -1 binary64)
(*.f64 #s(literal 1 binary64) %7)
(pow.f64 %7 #s(literal 1 binary64))
%7
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %12)
(*.f64 %14 %15)
(*.f64 %15 %14)
(*.f64 #s(literal 1 binary64) %18)
%18
(*.f64 x y)
(pow.f64 %18 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -1 binary64)))
(neg.f64 %24)
(*.f64 %14 %26)
(*.f64 %26 %14)
(*.f64 #s(literal 1 binary64) %29)
%29
(*.f64 x z)
(pow.f64 %29 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %29 #s(literal -1 binary64)))
(neg.f64 %35)
(*.f64 #s(literal 1 binary64) %38)
(pow.f64 %38 #s(literal 1 binary64))
%38
(/.f64 #s(literal 1 binary64) (pow.f64 %38 #s(literal -1 binary64)))
(*.f64 %14 (neg.f64 %43))
%46
(*.f64 #s(literal 1 binary64) %46)
(*.f64 x %43)
(pow.f64 %46 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %46 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %46))
(fma.f64 %14 %15 %29)
(fma.f64 %14 %26 %18)
(fma.f64 %15 %14 %29)
(fma.f64 %26 %14 %18)
(fma.f64 #s(literal 1 binary64) %29 %18)
(fma.f64 #s(literal 1 binary64) %18 %29)
(fma.f64 z x %18)
(fma.f64 y x %29)
(fma.f64 x z %18)
(fma.f64 x y %29)
(-.f64 %29 %24)
(-.f64 %18 %35)
(+.f64 %29 %18)
(+.f64 %18 %29)
(*.f64 #s(literal 1 binary64) %69)
(pow.f64 %69 #s(literal 1 binary64))
%69
(/.f64 #s(literal 1 binary64) (pow.f64 %69 #s(literal -1 binary64)))
(neg.f64 %74)
(*.f64 #s(literal 1 binary64) %76)
(pow.f64 %76 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %76))
(fma.f64 %14 %15 %69)
(fma.f64 %15 %14 %69)
(fma.f64 #s(literal 1 binary64) %18 %69)
(fma.f64 #s(literal 1 binary64) %69 %18)
%76
(fma.f64 x y %69)
(-.f64 %18 %74)
(-.f64 %69 %24)
(+.f64 %18 %69)
(+.f64 %69 %18)
%92
(*.f64 #s(literal 1 binary64) %92)
(*.f64 x %38)
(pow.f64 %92 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %92 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %100)
(pow.f64 %100 #s(literal 1 binary64))
%100
(/.f64 #s(literal 1 binary64) (pow.f64 %100 #s(literal -1 binary64)))
(*.f64 %12 %26)
(*.f64 %26 %12)
%107
(*.f64 #s(literal 1 binary64) %107)
(*.f64 z %7)
(pow.f64 %107 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %107 #s(literal -1 binary64)))
(neg.f64 %113)
(*.f64 #s(literal 1 binary64) %115)
(pow.f64 %115 #s(literal 1 binary64))
%115
(/.f64 #s(literal 1 binary64) (pow.f64 %115 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %120)
(pow.f64 %120 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %120 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %120))
(fma.f64 %12 %26 %18)
(fma.f64 %14 %15 %107)
(fma.f64 %15 %14 %107)
(fma.f64 %26 %12 %18)
%120
(fma.f64 #s(literal 1 binary64) %107 %18)
(fma.f64 #s(literal 1 binary64) %18 %107)
(fma.f64 z %7 %18)
(fma.f64 y x %107)
(fma.f64 x y %107)
(-.f64 %107 %24)
(-.f64 %18 %113)
(+.f64 %107 %18)
(+.f64 %18 %107)
(*.f64 #s(literal 1 binary64) %140)
(pow.f64 %140 #s(literal 1 binary64))
%140
(/.f64 #s(literal 1 binary64) (pow.f64 %140 #s(literal -1 binary64)))

reconstruct11.0ms (0.7%)

Counts
146 → 50
Compiler

Compiled 146 to 204 computations (-39.7% saved)

eval5.0ms (0.3%)

Compiler

Compiled 53 to 109 computations (-105.7% saved)

prune2.0ms (0.2%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New52153
Fresh000
Picked055
Done022
Total52860
Accuracy
100.0%
Counts
60 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(fma.f64 z (approx (- x 1) #s(literal -1 binary64)) (*.f64 y x))
66.5%
(fma.f64 x y (approx (* z (- x 1)) (*.f64 z x)))
66.9%
(approx (+ (* x y) (* (- x 1) z)) (fma.f64 x z (*.f64 y x)))
2.6%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 (approx x #s(literal 0 binary64)) (approx (+ y z) z)))
57.6%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
33.1%
%4 = (- x 1)
(approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal -1 binary64))))
67.7%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
26.1%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (approx (+ y z) z)))
Compiler

Compiled 8 to 18 computations (-125.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (0.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0101397
Stop Event
iter-limit
Counts
7 → 28
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%6 = (approx (+ y z) z)
%7 = (*.f64 %3 %6)
x
z
#s(literal 0 binary64)
%3
%6
%7
(approx (+ (* x y) (* (- x 1) z)) %7)
Outputs
%6 = (+ y z)
%7 = (* x %6)
%8 = (+.f64 y z)
%9 = (*.f64 x %8)
%15 = (+ (* x y) (* (- x 1) z))
%17 = (*.f64 #s(literal -1 binary64) z)
%21 = (/.f64 z x)
%38 = (*.f64 x z)
%43 = (-.f64 x #s(literal 1 binary64))
%44 = (*.f64 z %43)
%49 = (/.f64 z y)
%53 = (*.f64 x y)
%55 = (/.f64 %38 y)
%59 = (/.f64 %44 y)
%78 = (/.f64 y z)
%82 = (/.f64 %53 z)
%83 = (+.f64 x %82)
%94 = (*.f64 #s(literal -1 binary64) %82)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 %9)
(approx %15 %17)
(approx %15 (fma.f64 #s(literal -1 binary64) z %9))
(approx %15 (*.f64 x (+.f64 y (+.f64 z (*.f64 #s(literal -1 binary64) %21)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y %17))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) z %21)))))
(approx %6 z)
(approx %6 %8)
(approx %7 %38)
(approx %7 (fma.f64 x y %38))
(approx %15 %44)
(approx %15 (fma.f64 x y %44))
(approx %6 y)
(approx %6 (*.f64 y (+.f64 #s(literal 1 binary64) %49)))
(approx %7 %53)
(approx %7 (*.f64 y (+.f64 x %55)))
(approx %15 (*.f64 y (+.f64 x %59)))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %49) #s(literal 1 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %55)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %59)))))
(approx %6 (*.f64 z (+.f64 #s(literal 1 binary64) %78)))
(approx %7 (*.f64 z %83))
(approx %15 (*.f64 z (-.f64 %83 #s(literal 1 binary64))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) %78) #s(literal 1 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x %94))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %43 %94))))
Calls

9 calls:

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

rewrite113.0ms (7.2%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01439
01539
15239
211539
337637
4216137
0418237
0445037
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 20
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%6 = (approx (+ y z) z)
%7 = (*.f64 %3 %6)
x
z
#s(literal 0 binary64)
%3
%6
%7
(approx (+ (* x y) (* (- x 1) z)) %7)
Outputs
%4 = (approx x #s(literal 0 binary64))
%11 = (+ y z)
%12 = (approx %11 z)
%17 = (*.f64 %12 %4)
%25 = (approx (- (* x %11) z) %17)
x
z
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %4)
(pow.f64 %4 #s(literal 1 binary64))
%4
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %12)
(pow.f64 %12 #s(literal 1 binary64))
%12
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %17)
%17
(*.f64 %4 %12)
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %25)
(pow.f64 %25 #s(literal 1 binary64))
%25
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))

reconstruct3.0ms (0.2%)

Counts
47 → 27
Compiler

Compiled 47 to 86 computations (-83.0% saved)

eval2.0ms (0.1%)

Compiler

Compiled 21 to 50 computations (-138.1% saved)

prune2.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New20121
Fresh000
Picked101
Done077
Total21829
Accuracy
100.0%
Counts
29 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(fma.f64 z (approx (- x 1) #s(literal -1 binary64)) (*.f64 y x))
66.5%
(fma.f64 x y (approx (* z (- x 1)) (*.f64 z x)))
66.9%
(approx (+ (* x y) (* (- x 1) z)) (fma.f64 x z (*.f64 y x)))
57.6%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
33.1%
%4 = (- x 1)
(approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal -1 binary64))))
67.7%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
26.1%
(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (approx (+ y z) z)))
46.7%
(approx (+ (* x y) (* (- x 1) z)) (approx (* x (+ y z)) (*.f64 x y)))
Compiler

Compiled 8 to 17 computations (-112.5% saved)

regimes33.0ms (2.1%)

Accuracy

Total 40.4b remaining (39.9%)

Threshold costs 0.0b (0.0%)

18.0b42.4%
8.2b59.2%
7.2b62.2%
5.9b52.7%
1.2b91.9%

Counts
1 → 1
2 → 3
3 → 4
5 → 3
6 → 3
9 → 3
10 → 1
Calls
Call 1
Inputs
(approx (+ (* x y) (* (- x 1) z)) (approx (* x (+ y z)) (*.f64 x y)))
Outputs
(approx (+ (* x y) (* (- x 1) z)) (approx (* x (+ y z)) (*.f64 x y)))
Call 2
Inputs
%7 = (+ (* x y) (* (- x 1) z))
%8 = (+ y z)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x (approx %8 z)))
Outputs
%7 = (+ (* x y) (* (- x 1) z))
%8 = (+ y z)
%12 = (approx %7 (approx (* x %8) (*.f64 x y)))
%12
(approx %7 (*.f64 x (approx %8 z)))
%12
Call 3
Inputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x (approx %8 z)))
(approx %7 (*.f64 z (approx %4 #s(literal -1 binary64))))
Outputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
%15 = (approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x (approx %8 z)))
%15
(approx %7 (*.f64 z (approx %4 #s(literal -1 binary64))))
%15
Call 4
Inputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
%13 = (approx %8 z)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x %13))
(approx %7 (*.f64 z (approx %4 #s(literal -1 binary64))))
(approx %7 (*.f64 (approx x #s(literal 0 binary64)) %13))
(approx %7 (*.f64 x (+.f64 y z)))
Outputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%10 = (approx %7 (*.f64 x (+.f64 y z)))
%10
(approx %7 (*.f64 z (approx %4 #s(literal -1 binary64))))
%10
Call 5
Inputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
%13 = (approx %8 z)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x %13))
(approx %7 (*.f64 z (approx %4 #s(literal -1 binary64))))
(approx %7 (*.f64 (approx x #s(literal 0 binary64)) %13))
(approx %7 (*.f64 x (+.f64 y z)))
(approx %7 (*.f64 z (-.f64 x #s(literal 1 binary64))))
Outputs
%7 = (+ (* x y) (* (- x 1) z))
%10 = (approx %7 (*.f64 x (+.f64 y z)))
%10
(approx %7 (*.f64 z (-.f64 x #s(literal 1 binary64))))
%10
Call 6
Inputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
%13 = (approx %8 z)
%17 = (approx %4 #s(literal -1 binary64))
%31 = (*.f64 y x)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x %13))
(approx %7 (*.f64 z %17))
(approx %7 (*.f64 (approx x #s(literal 0 binary64)) %13))
(approx %7 (*.f64 x (+.f64 y z)))
(approx %7 (*.f64 z (-.f64 x #s(literal 1 binary64))))
(approx %7 (fma.f64 x z %31))
(fma.f64 x y (approx (* z %4) (*.f64 z x)))
(fma.f64 z %17 %31)
Outputs
%4 = (- x 1)
%10 = (approx (+ (* x y) (* %4 z)) (*.f64 x (+.f64 y z)))
%10
(fma.f64 z (approx %4 #s(literal -1 binary64)) (*.f64 y x))
%10
Call 7
Inputs
%4 = (- x 1)
%7 = (+ (* x y) (* %4 z))
%8 = (+ y z)
%13 = (approx %8 z)
%17 = (approx %4 #s(literal -1 binary64))
%25 = (*.f64 x (+.f64 y z))
%31 = (*.f64 y x)
(approx %7 (approx (* x %8) (*.f64 x y)))
(approx %7 (*.f64 x %13))
(approx %7 (*.f64 z %17))
(approx %7 (*.f64 (approx x #s(literal 0 binary64)) %13))
(approx %7 %25)
(approx %7 (*.f64 z (-.f64 x #s(literal 1 binary64))))
(approx %7 (fma.f64 x z %31))
(fma.f64 x y (approx (* z %4) (*.f64 z x)))
(fma.f64 z %17 %31)
(-.f64 %25 z)
Outputs
(-.f64 (*.f64 x (+.f64 y z)) z)
Calls

4 calls:

8.0ms
z
8.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
8.0ms
y
8.0ms
x
Results
AccuracySegmentsBranch
46.7%1
z
46.7%1
y
46.7%1
x
46.7%1
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 18 to 34 computations (-88.9% saved)

bsearch0.0ms (0.0%)

bsearch15.0ms (1.0%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
2.2045952188073033e-14
0.0005825814724763941
5.0ms
-14298.649587223466
-771.6157302664199
Samples
5.0ms272×0valid
Compiler

Compiled 16 to 27 computations (-68.8% saved)

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

bsearch12.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
464742860.8895076
43297018368802.69
4.0ms
-2.8368855981903414e-51
-1.2064225709139271e-51
Samples
4.0ms224×0valid
Compiler

Compiled 16 to 27 computations (-68.8% saved)

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

bsearch5.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
6.976922429949524e-35
1.0427301318071524e-33
0.0ms
-2.8368855981903414e-51
-1.2064225709139271e-51
Samples
22.0ms96×0valid
Compiler

Compiled 16 to 25 computations (-56.3% saved)

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

bsearch8.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
6.976922429949524e-35
1.0427301318071524e-33
0.0ms
-2.8368855981903414e-51
-1.2064225709139271e-51
7.0ms
-7.884536525057726e+240
-1.9920029354217538e+234
Samples
3.0ms144×0valid
Compiler

Compiled 18 to 28 computations (-55.6% saved)

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

bsearch14.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
4.0ms
3.4571509103209496e-111
3.205036354109671e-110
7.0ms
-8.429824474477093e-68
-1.3575961400076944e-81
Samples
5.0ms256×0valid
Compiler

Compiled 16 to 21 computations (-31.3% saved)

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

bsearch0.0ms (0.0%)

derivations54.0ms (3.5%)

Stop Event
fuel
Compiler

Compiled 7 to 42 computations (-500.0% saved)

preprocess33.0ms (2.1%)

Compiler

Compiled 8 to 50 computations (-525.0% saved)

end0.0ms (0.0%)

gc244ms (15.6%)

Allocations
AllocatedPercentPhase
761.1 MiB50.6%sample
288.3 MiB19.2%rewrite
136.1 MiB9.0%reconstruct
90.1 MiB6.0%preprocess
81.8 MiB5.4%series
47.1 MiB3.1%regimes
43.7 MiB2.9%bsearch
25.2 MiB1.7%eval
15.3 MiB1.0%derivations
14.4 MiB1.0%prune
1.0 MiB0.1%analyze
0.1 MiB0.0%start
0.0 MiB0.0%end
1 504.3 MiB100.0%total

Profiling

Loading profile data...