Diagrams.Color.HSV:lerp from diagrams-contrib-1.3.0.5

Time bar (total: 1.9s)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

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

Compiled 11 to 9 computations (18.2% saved)

sample252.0ms (13.3%)

Samples
221.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Mul: 5.0ms (55.6% of total, 0.0 MiB)
Sub: 2.0ms (22.2% of total, 0.0 MiB)
Add: 2.0ms (22.2% of total, 0.0 MiB)
Bogosity

preprocess26.0ms (1.4%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03395
114390
237090
3103075
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.5%
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
Compiler

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series15.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
085335
Stop Event
iter-limit
Counts
8 → 25
Calls
Call 1
Inputs
%2 = (-.f64 #s(literal 1 binary64) x)
%4 = (*.f64 %2 y)
%6 = (*.f64 x z)
#s(literal 1 binary64)
x
%2
y
%4
z
%6
(+.f64 %4 %6)
Outputs
%5 = (- 1 x)
%9 = (*.f64 #s(literal -1 binary64) x)
%13 = (* %5 y)
%16 = (*.f64 #s(literal -1 binary64) (*.f64 x y))
%20 = (* x z)
%21 = (*.f64 x z)
%23 = (+ %13 %20)
%26 = (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y)))
%30 = (/.f64 #s(literal 1 binary64) x)
%35 = (/.f64 y x)
%36 = (fma.f64 #s(literal -1 binary64) y %35)
%47 = (*.f64 #s(literal -1 binary64) %35)
%62 = (-.f64 #s(literal 1 binary64) x)
%63 = (*.f64 y %62)
%67 = (/.f64 %21 y)
%78 = (/.f64 %63 z)
(approx 1 #s(literal 0 binary64))
(approx x x)
(approx %5 #s(literal 1 binary64))
(approx %5 (+.f64 #s(literal 1 binary64) %9))
(approx %13 y)
(approx %13 (+.f64 y %16))
(approx %20 %21)
(approx %23 (+.f64 y %26))
(approx %5 %9)
(approx %5 (*.f64 x (-.f64 %30 #s(literal 1 binary64))))
(approx %13 %16)
(approx %13 (*.f64 x %36))
(approx %23 %26)
(approx %23 (*.f64 x (+.f64 z %36)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %30))))
(approx %13 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y %47))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (fma.f64 #s(literal -1 binary64) z %47)))))
(approx %13 %63)
(approx %23 (fma.f64 x z %63))
(approx %23 (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) %67) x)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %62 (*.f64 #s(literal -1 binary64) %67)))))
(approx z z)
(approx %23 (*.f64 z (+.f64 x %78)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %78)))))
Calls

9 calls:

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

rewrite106.0ms (5.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
01224
13724
29424
331523
4172823
0432823
0445422
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 432
Calls
Call 1
Inputs
%2 = (-.f64 #s(literal 1 binary64) x)
%4 = (*.f64 %2 y)
%6 = (*.f64 x z)
#s(literal 1 binary64)
x
%2
y
%4
z
%6
(+.f64 %4 %6)
Outputs
%3 = (-.f64 #s(literal 1 binary64) x)
%4 = (*.f64 #s(literal 2 binary64) %3)
%6 = (/.f64 %4 #s(literal 8 binary64))
%9 = (/.f64 %4 #s(literal 4 binary64))
%15 = (neg.f64 x)
%20 = (/.f64 %4 #s(literal 1/2 binary64))
%23 = (/.f64 %4 #s(literal 1 binary64))
%26 = (-.f64 #s(literal 1/2 binary64) x)
%27 = (fma.f64 %26 #s(literal 2 binary64) #s(literal 1 binary64))
%31 = (fma.f64 %15 #s(literal -2 binary64) #s(literal -2 binary64))
%34 = (fma.f64 %15 #s(literal 1 binary64) #s(literal 1 binary64))
%38 = (-.f64 (*.f64 %15 #s(literal -2 binary64)) #s(literal 2 binary64))
%41 = (fma.f64 %4 #s(literal 2 binary64) #s(literal 0 binary64))
%44 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%45 = (neg.f64 %44)
%48 = (neg.f64 %4)
%69 = (-.f64 x #s(literal 1 binary64))
%72 = (+.f64 x x)
%73 = (-.f64 %72 #s(literal 1 binary64))
%85 = (-.f64 x #s(literal 1/2 binary64))
%201 = (*.f64 %15 #s(literal 1 binary64))
%218 = (/.f64 %72 #s(literal -2 binary64))
%221 = (/.f64 %26 #s(literal 1 binary64))
%223 = (/.f64 %15 #s(literal 1 binary64))
%227 = (+.f64 #s(literal 0 binary64) %26)
%240 = (*.f64 %3 #s(literal 1/2 binary64))
%241 = (+.f64 y y)
%243 = (*.f64 %3 #s(literal 1 binary64))
%245 = (*.f64 %3 %241)
%247 = (*.f64 #s(literal 1/2 binary64) y)
%248 = (*.f64 %3 %247)
%250 = (*.f64 #s(literal 1/2 binary64) %3)
%254 = (neg.f64 y)
%256 = (*.f64 %241 %3)
%258 = (*.f64 %247 %3)
%261 = (*.f64 y %3)
%286 = (*.f64 %254 x)
%287 = (fma.f64 %286 #s(literal 2 binary64) %241)
%290 = (*.f64 %15 %241)
%293 = (*.f64 %241 %15)
%296 = (*.f64 %254 #s(literal 2 binary64))
%301 = (*.f64 #s(literal -1 binary64) %241)
%306 = (*.f64 %241 #s(literal -1 binary64))
%311 = (*.f64 #s(literal 2 binary64) %254)
%316 = (*.f64 #s(literal -2 binary64) y)
%321 = (*.f64 y #s(literal -2 binary64))
%326 = (neg.f64 %241)
%331 = (*.f64 x %241)
%334 = (*.f64 %241 x)
%337 = (*.f64 %254 %44)
%342 = (*.f64 y %4)
%345 = (*.f64 %44 %254)
%350 = (*.f64 %4 y)
%355 = (*.f64 %241 %4)
%358 = (*.f64 %4 %241)
%372 = (*.f64 %69 y)
%374 = (*.f64 %3 #s(literal 0 binary64))
%376 = (*.f64 #s(literal 0 binary64) %3)
%382 = (*.f64 #s(literal -1 binary64) %254)
%384 = (*.f64 %254 #s(literal -1 binary64))
%390 = (*.f64 %15 %247)
%397 = (*.f64 %15 #s(literal 1/2 binary64))
%401 = (*.f64 #s(literal 1/2 binary64) %247)
%402 = (fma.f64 #s(literal 1/2 binary64) y %286)
%404 = (*.f64 y x)
%405 = (-.f64 %247 %404)
%407 = (*.f64 y %26)
%409 = (*.f64 %26 y)
%422 = (*.f64 #s(literal 1/2 binary64) %15)
%433 = (neg.f64 %72)
%469 = (*.f64 %247 #s(literal 1/2 binary64))
%474 = (*.f64 %247 %15)
%547 = (neg.f64 z)
%550 = (*.f64 z x)
%556 = (*.f64 %15 z)
%558 = (-.f64 y z)
%559 = (fma.f64 %15 %558 y)
%562 = (fma.f64 %550 #s(literal 2 binary64) %241)
%576 = (-.f64 (*.f64 %556 #s(literal 2 binary64)) %241)
%587 = (-.f64 y %556)
%589 = (fma.f64 z x y)
%597 = (*.f64 %15 %558)
%598 = (fma.f64 #s(literal 1/2 binary64) y %597)
#s(literal 1 binary64)
x
(*.f64 %6 #s(literal 4 binary64))
(*.f64 %9 #s(literal 2 binary64))
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %15 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %20) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %23) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %27) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %31) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %34) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %38) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %41) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %45) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %48) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %4) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64))
(/.f64 (+.f64 %41 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %31 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %38 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %27 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %34 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %48 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %69 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) %73) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %44 #s(literal 1/2 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %44 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (fma.f64 x #s(literal -2 binary64) #s(literal 2 binary64))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %85 #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %69 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal -2 binary64)) #s(literal -2 binary64))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %44 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %45) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %48) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %4) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %44) #s(literal 2 binary64))
(/.f64 (-.f64 %20 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %41 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %31 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %38 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %23 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %27 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %34 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %4 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %48 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (neg.f64 %20) #s(literal -4 binary64))
(/.f64 (neg.f64 %23) #s(literal -2 binary64))
(/.f64 (neg.f64 %27) #s(literal -2 binary64))
(/.f64 (neg.f64 %31) #s(literal 2 binary64))
(/.f64 (neg.f64 %34) #s(literal -1 binary64))
(/.f64 (neg.f64 %38) #s(literal 2 binary64))
(/.f64 (neg.f64 %41) #s(literal -4 binary64))
(/.f64 (neg.f64 %45) #s(literal -2 binary64))
(/.f64 (neg.f64 %48) #s(literal 2 binary64))
(/.f64 %20 #s(literal 4 binary64))
(/.f64 %23 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %72) #s(literal 2 binary64))
(/.f64 %27 #s(literal 2 binary64))
(/.f64 %31 #s(literal -2 binary64))
(/.f64 %34 #s(literal 1 binary64))
(/.f64 %38 #s(literal -2 binary64))
(/.f64 %41 #s(literal 4 binary64))
(/.f64 %45 #s(literal 2 binary64))
(/.f64 %48 #s(literal -2 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 %44 #s(literal -2 binary64))
(/.f64 %69 #s(literal -1 binary64))
(/.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %4))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %69)
(fma.f64 %6 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %9 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %4 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %26 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %15 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %3 #s(literal 0 binary64))
(-.f64 (+.f64 %3 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %26 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %15))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1/2 binary64) %85)
(-.f64 %15 #s(literal -1 binary64))
(-.f64 #s(literal 0 binary64) %69)
(-.f64 %3 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %15))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) x))
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal 0 binary64)))
%3
(+.f64 (/.f64 (*.f64 %26 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 %201 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 %4 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %15 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %15 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(+.f64 (/.f64 %73 #s(literal -2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 %218 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %221 #s(literal 1/2 binary64))
(+.f64 %223 #s(literal 1 binary64))
(+.f64 %218 #s(literal 1 binary64))
(+.f64 %26 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 %227 #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) %221)
(+.f64 #s(literal 1/2 binary64) %227)
(+.f64 #s(literal 1/2 binary64) %26)
(+.f64 %15 #s(literal 1 binary64))
(+.f64 #s(literal 0 binary64) %3)
(+.f64 %3 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %223)
(+.f64 #s(literal 1 binary64) %218)
(+.f64 #s(literal 1 binary64) %15)
y
(*.f64 %240 %241)
(*.f64 %243 y)
(*.f64 %245 #s(literal 1/2 binary64))
(*.f64 %248 #s(literal 2 binary64))
(*.f64 %241 %250)
(*.f64 %247 %4)
(*.f64 %4 %247)
(*.f64 %254 %69)
(*.f64 #s(literal 1/2 binary64) %256)
(*.f64 #s(literal 2 binary64) %258)
(*.f64 %69 %254)
(*.f64 %261 #s(literal 1 binary64))
%261
(*.f64 %3 y)
(*.f64 #s(literal 1 binary64) %261)
(pow.f64 %261 #s(literal 1 binary64))
(/.f64 (fma.f64 %15 %241 %241) #s(literal 2 binary64))
(/.f64 (fma.f64 %241 %15 %241) #s(literal 2 binary64))
(/.f64 (fma.f64 %241 %4 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %4 %241 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %254 %44 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %3 %241 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 y %4 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %44 %254 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %241 %3 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %4 y #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %287 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) y %290) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) y %293) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %296) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %296) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %301) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %301) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %306) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %306) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %311) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %311) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %316) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %316) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %321) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %321) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %326) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %326) #s(literal 2 binary64))
(/.f64 (-.f64 %241 %331) #s(literal 2 binary64))
(/.f64 (-.f64 %241 %334) #s(literal 2 binary64))
(/.f64 (neg.f64 %337) #s(literal -2 binary64))
(/.f64 (neg.f64 %245) #s(literal -2 binary64))
(/.f64 (neg.f64 %342) #s(literal -2 binary64))
(/.f64 (neg.f64 %345) #s(literal -2 binary64))
(/.f64 (neg.f64 %256) #s(literal -2 binary64))
(/.f64 (neg.f64 %350) #s(literal -2 binary64))
(/.f64 (neg.f64 %287) #s(literal -2 binary64))
(/.f64 (neg.f64 %355) #s(literal -4 binary64))
(/.f64 (neg.f64 %358) #s(literal -4 binary64))
(/.f64 %337 #s(literal 2 binary64))
(/.f64 %245 #s(literal 2 binary64))
(/.f64 %342 #s(literal 2 binary64))
(/.f64 %345 #s(literal 2 binary64))
(/.f64 %256 #s(literal 2 binary64))
(/.f64 %350 #s(literal 2 binary64))
(/.f64 %287 #s(literal 2 binary64))
(/.f64 %355 #s(literal 4 binary64))
(/.f64 %358 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %261 #s(literal -1 binary64)))
(neg.f64 %372)
(fma.f64 %240 %241 %374)
(fma.f64 %240 %241 %376)
(fma.f64 %240 %241 #s(literal 0 binary64))
(fma.f64 %243 y %374)
(fma.f64 %243 y %376)
(fma.f64 %243 y #s(literal 0 binary64))
(fma.f64 %290 #s(literal 1/2 binary64) %382)
(fma.f64 %290 #s(literal 1/2 binary64) %384)
(fma.f64 %290 #s(literal 1/2 binary64) y)
(fma.f64 %245 #s(literal 1/2 binary64) %374)
(fma.f64 %245 #s(literal 1/2 binary64) %376)
(fma.f64 %245 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %390 #s(literal 2 binary64) %382)
(fma.f64 %390 #s(literal 2 binary64) %384)
(fma.f64 %390 #s(literal 2 binary64) y)
(fma.f64 %248 #s(literal 2 binary64) %374)
(fma.f64 %248 #s(literal 2 binary64) %376)
(fma.f64 %248 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %397 %241 %382)
(fma.f64 %397 %241 %384)
(fma.f64 %397 %241 y)
(fma.f64 %401 #s(literal 2 binary64) %402)
(fma.f64 %401 #s(literal 2 binary64) %405)
(fma.f64 %401 #s(literal 2 binary64) %407)
(fma.f64 %401 #s(literal 2 binary64) %409)
(fma.f64 %201 y %382)
(fma.f64 %201 y %384)
(fma.f64 %201 y y)
(fma.f64 #s(literal 1/4 binary64) %241 %402)
(fma.f64 #s(literal 1/4 binary64) %241 %405)
(fma.f64 #s(literal 1/4 binary64) %241 %407)
(fma.f64 #s(literal 1/4 binary64) %241 %409)
(fma.f64 %26 y %247)
(fma.f64 %241 %250 %374)
(fma.f64 %241 %250 %376)
(fma.f64 %241 %250 #s(literal 0 binary64))
(fma.f64 %241 %422 %382)
(fma.f64 %241 %422 %384)
(fma.f64 %241 %422 y)
(fma.f64 %241 #s(literal 1/4 binary64) %402)
(fma.f64 %241 #s(literal 1/4 binary64) %405)
(fma.f64 %241 #s(literal 1/4 binary64) %407)
(fma.f64 %241 #s(literal 1/4 binary64) %409)
(fma.f64 %247 %4 %374)
(fma.f64 %247 %4 %376)
(fma.f64 %247 %4 #s(literal 0 binary64))
(fma.f64 %247 %433 %382)
(fma.f64 %247 %433 %384)
(fma.f64 %247 %433 y)
(fma.f64 %247 %3 %258)
(fma.f64 %247 #s(literal 1 binary64) %402)
(fma.f64 %247 #s(literal 1 binary64) %405)
(fma.f64 %247 #s(literal 1 binary64) %407)
(fma.f64 %247 #s(literal 1 binary64) %409)
(fma.f64 %4 %247 %374)
(fma.f64 %4 %247 %376)
(fma.f64 %4 %247 #s(literal 0 binary64))
(fma.f64 %433 %247 %382)
(fma.f64 %433 %247 %384)
(fma.f64 %433 %247 y)
(fma.f64 %286 #s(literal 1 binary64) %382)
(fma.f64 %286 #s(literal 1 binary64) %384)
(fma.f64 %286 #s(literal 1 binary64) y)
(fma.f64 %254 #s(literal -1 binary64) %286)
(fma.f64 %254 %69 %374)
(fma.f64 %254 %69 %376)
(fma.f64 %254 %69 #s(literal 0 binary64))
(fma.f64 %254 x %382)
(fma.f64 %254 x %384)
(fma.f64 %254 x y)
(fma.f64 #s(literal -1 binary64) %254 %286)
(fma.f64 #s(literal 1/2 binary64) %293 %382)
(fma.f64 #s(literal 1/2 binary64) %293 %384)
(fma.f64 #s(literal 1/2 binary64) %293 y)
(fma.f64 #s(literal 1/2 binary64) %256 %374)
(fma.f64 #s(literal 1/2 binary64) %256 %376)
(fma.f64 #s(literal 1/2 binary64) %256 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) y %402)
(fma.f64 #s(literal 1/2 binary64) y %405)
(fma.f64 #s(literal 1/2 binary64) y %407)
(fma.f64 #s(literal 1/2 binary64) y %409)
(fma.f64 #s(literal 2 binary64) %469 %402)
(fma.f64 #s(literal 2 binary64) %469 %405)
(fma.f64 #s(literal 2 binary64) %469 %407)
(fma.f64 #s(literal 2 binary64) %469 %409)
(fma.f64 #s(literal 2 binary64) %474 %382)
(fma.f64 #s(literal 2 binary64) %474 %384)
(fma.f64 #s(literal 2 binary64) %474 y)
(fma.f64 #s(literal 2 binary64) %258 %374)
(fma.f64 #s(literal 2 binary64) %258 %376)
(fma.f64 #s(literal 2 binary64) %258 #s(literal 0 binary64))
(fma.f64 %15 y %382)
(fma.f64 %15 y %384)
(fma.f64 %15 y y)
(fma.f64 %69 %254 %374)
(fma.f64 %69 %254 %376)
(fma.f64 %69 %254 #s(literal 0 binary64))
(fma.f64 %261 #s(literal 1 binary64) %374)
(fma.f64 %261 #s(literal 1 binary64) %376)
(fma.f64 %261 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 y %26 %247)
(fma.f64 y #s(literal 1/2 binary64) %402)
(fma.f64 y #s(literal 1/2 binary64) %405)
(fma.f64 y #s(literal 1/2 binary64) %407)
(fma.f64 y #s(literal 1/2 binary64) %409)
(fma.f64 y %15 %382)
(fma.f64 y %15 %384)
(fma.f64 y %15 y)
(fma.f64 y %3 %374)
(fma.f64 y %3 %376)
(fma.f64 y %3 #s(literal 0 binary64))
(fma.f64 %3 %247 %248)
(fma.f64 %3 y %374)
(fma.f64 %3 y %376)
(fma.f64 %3 y #s(literal 0 binary64))
(fma.f64 x %254 %382)
(fma.f64 x %254 %384)
(fma.f64 x %254 y)
(fma.f64 #s(literal 1 binary64) %247 %402)
(fma.f64 #s(literal 1 binary64) %247 %405)
(fma.f64 #s(literal 1 binary64) %247 %407)
(fma.f64 #s(literal 1 binary64) %247 %409)
(fma.f64 #s(literal 1 binary64) %286 %382)
(fma.f64 #s(literal 1 binary64) %286 %384)
(fma.f64 #s(literal 1 binary64) %286 y)
(fma.f64 #s(literal 1 binary64) %261 %374)
(fma.f64 #s(literal 1 binary64) %261 %376)
(fma.f64 #s(literal 1 binary64) %261 #s(literal 0 binary64))
(-.f64 %286 %254)
(-.f64 y %404)
(+.f64 (/.f64 (*.f64 %286 #s(literal 2 binary64)) #s(literal 2 binary64)) y)
(+.f64 (fma.f64 %254 x %247) %247)
(+.f64 %248 %248)
(+.f64 %407 %247)
(+.f64 %258 %258)
(+.f64 %409 %247)
(+.f64 %382 %286)
(+.f64 %384 %286)
(+.f64 %247 %402)
(+.f64 %247 %405)
(+.f64 %247 %407)
(+.f64 %247 %409)
(+.f64 %286 %382)
(+.f64 %286 %384)
(+.f64 %286 y)
(+.f64 %261 %374)
(+.f64 %261 %376)
(+.f64 %261 #s(literal 0 binary64))
(+.f64 y (+.f64 #s(literal 0 binary64) %286))
(+.f64 y (-.f64 #s(literal 0 binary64) %404))
(+.f64 y %286)
z
(*.f64 %547 %15)
(*.f64 %15 %547)
%550
(*.f64 x z)
(*.f64 #s(literal 1 binary64) %550)
(pow.f64 %550 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %550 #s(literal -1 binary64)))
(neg.f64 %556)
(*.f64 #s(literal 1 binary64) %559)
(pow.f64 %559 #s(literal 1 binary64))
(/.f64 (+.f64 %562 %290) #s(literal 2 binary64))
(/.f64 (+.f64 %562 %293) #s(literal 2 binary64))
(/.f64 (fma.f64 %15 %241 %562) #s(literal 2 binary64))
(/.f64 (fma.f64 %241 %15 %562) #s(literal 2 binary64))
(/.f64 (-.f64 %562 %331) #s(literal 2 binary64))
(/.f64 (-.f64 %562 %334) #s(literal 2 binary64))
(/.f64 (-.f64 %290 %576) #s(literal 2 binary64))
(/.f64 (-.f64 %293 %576) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %559 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %559))
(fma.f64 %240 %241 %550)
(fma.f64 %243 y %550)
(fma.f64 %290 #s(literal 1/2 binary64) %587)
(fma.f64 %290 #s(literal 1/2 binary64) %589)
(fma.f64 %245 #s(literal 1/2 binary64) %550)
(fma.f64 %390 #s(literal 2 binary64) %587)
(fma.f64 %390 #s(literal 2 binary64) %589)
(fma.f64 %248 #s(literal 2 binary64) %550)
(fma.f64 %397 %241 %587)
(fma.f64 %397 %241 %589)
(fma.f64 %401 #s(literal 2 binary64) %598)
(fma.f64 %201 y %587)
(fma.f64 %201 y %589)
(fma.f64 #s(literal 1/4 binary64) %241 %598)
(fma.f64 %241 %250 %550)
(fma.f64 %241 %422 %587)
(fma.f64 %241 %422 %589)
(fma.f64 %241 #s(literal 1/4 binary64) %598)
(fma.f64 %247 %4 %550)
(fma.f64 %247 %433 %587)
(fma.f64 %247 %433 %589)
(fma.f64 %247 #s(literal 1 binary64) %598)
(fma.f64 %4 %247 %550)
(fma.f64 %433 %247 %587)
(fma.f64 %433 %247 %589)
(fma.f64 %286 #s(literal 1 binary64) %587)
(fma.f64 %286 #s(literal 1 binary64) %589)
(fma.f64 %254 %69 %550)
(fma.f64 %254 x %587)
(fma.f64 %254 x %589)
(fma.f64 %547 %15 %261)
(fma.f64 #s(literal 1/2 binary64) %293 %587)
(fma.f64 #s(literal 1/2 binary64) %293 %589)
(fma.f64 #s(literal 1/2 binary64) %256 %550)
(fma.f64 #s(literal 1/2 binary64) y %598)
(fma.f64 #s(literal 2 binary64) %469 %598)
(fma.f64 #s(literal 2 binary64) %474 %587)
(fma.f64 #s(literal 2 binary64) %474 %589)
(fma.f64 #s(literal 2 binary64) %258 %550)
(fma.f64 %15 (+.f64 y %547) y)
%559
(fma.f64 %15 %547 %261)
(fma.f64 %15 y %587)
(fma.f64 %15 y %589)
(fma.f64 %69 %254 %550)
(fma.f64 z x %261)
(fma.f64 %261 #s(literal 1 binary64) %550)
(fma.f64 y #s(literal 1/2 binary64) %598)
(fma.f64 y %15 %587)
(fma.f64 y %15 %589)
(fma.f64 y %3 %550)
(fma.f64 %3 y %550)
(fma.f64 x %254 %587)
(fma.f64 x %254 %589)
(fma.f64 x z %261)
(fma.f64 #s(literal 1 binary64) %589 %286)
(fma.f64 #s(literal 1 binary64) %597 y)
(fma.f64 #s(literal 1 binary64) %247 %598)
(fma.f64 #s(literal 1 binary64) %286 %587)
(fma.f64 #s(literal 1 binary64) %286 %589)
(fma.f64 #s(literal 1 binary64) %550 %261)
(fma.f64 #s(literal 1 binary64) %261 %550)
(-.f64 (-.f64 %550 %404) %254)
(-.f64 %589 %404)
(-.f64 %286 (-.f64 %556 y))
(-.f64 %550 %372)
(-.f64 %261 %556)
(-.f64 y (-.f64 %404 %550))
(-.f64 y (fma.f64 y x %556))
(-.f64 y (neg.f64 %597))
(+.f64 %589 %286)
(+.f64 %597 y)
(+.f64 %247 %598)
(+.f64 %286 %587)
(+.f64 %286 %589)
(+.f64 %550 %261)
(+.f64 %261 %550)
(+.f64 y (+.f64 #s(literal 0 binary64) %597))
(+.f64 y %597)

reconstruct40.0ms (2.1%)

Counts
457 → 43
Compiler

Compiled 457 to 721 computations (-57.8% saved)

eval3.0ms (0.2%)

Compiler

Compiled 39 to 122 computations (-212.8% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New36339
Fresh000
Picked101
Done000
Total37340
Accuracy
100.0%
Counts
40 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (neg.f64 x) (-.f64 y z) y)
71.4%
(+.f64 (approx (* (- 1 x) y) y) (*.f64 x z))
98.8%
(approx (+ (* (- 1 x) y) (* x z)) (fma.f64 x z (*.f64 y (-.f64 #s(literal 1 binary64) x))))
Compiler

Compiled 3 to 12 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series-168.0ms (-8.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0154637
Stop Event
iter-limit
Counts
14 → 44
Calls
Call 1
Inputs
%2 = (-.f64 #s(literal 1 binary64) x)
%5 = (*.f64 x z)
%8 = (* (- 1 x) y)
%9 = (approx %8 y)
%10 = (*.f64 y %2)
%11 = (fma.f64 x z %10)
%15 = (neg.f64 x)
%16 = (-.f64 y z)
#s(literal 1 binary64)
x
%2
y
z
%5
%9
%10
%11
(approx (+ %8 (* x z)) %11)
%15
%16
(fma.f64 %15 %16 y)
(+.f64 %9 %5)
Outputs
%5 = (- 1 x)
%9 = (*.f64 #s(literal -1 binary64) x)
%10 = (+.f64 #s(literal 1 binary64) %9)
%13 = (* x z)
%14 = (*.f64 x z)
%17 = (* %5 y)
%19 = (*.f64 x y)
%20 = (*.f64 #s(literal -1 binary64) %19)
%21 = (+.f64 y %20)
%24 = (+ %13 (* y %5))
%27 = (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y)))
%30 = (neg x)
%32 = (- y z)
%34 = (+ (* %30 %32) y)
%35 = (-.f64 y z)
%37 = (*.f64 #s(literal -1 binary64) (*.f64 x %35))
%40 = (/.f64 #s(literal 1 binary64) x)
%45 = (/.f64 y x)
%46 = (fma.f64 #s(literal -1 binary64) y %45)
%61 = (*.f64 #s(literal -1 binary64) %45)
%62 = (+.f64 y %61)
%66 = (*.f64 #s(literal -1 binary64) z)
%67 = (+.f64 y %66)
%80 = (-.f64 #s(literal 1 binary64) x)
%81 = (*.f64 y %80)
%87 = (*.f64 y %10)
%90 = (/.f64 %14 y)
%95 = (/.f64 z y)
%105 = (*.f64 #s(literal -1 binary64) %90)
%128 = (/.f64 %81 z)
%132 = (/.f64 y z)
(approx 1 #s(literal 0 binary64))
(approx x x)
(approx %5 #s(literal 1 binary64))
(approx %5 %10)
(approx %13 %14)
(approx %17 y)
(approx %17 %21)
(approx %24 (+.f64 y %27))
(approx %30 %9)
(approx %34 (+.f64 y %37))
(approx %5 (*.f64 x (-.f64 %40 #s(literal 1 binary64))))
(approx %17 %20)
(approx %17 (*.f64 x %46))
(approx %24 %27)
(approx %24 (*.f64 x (+.f64 z %46)))
(approx %34 %37)
(approx %34 (*.f64 x (fma.f64 #s(literal -1 binary64) %35 %45)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %40))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x %62)))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x %67)))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (fma.f64 #s(literal -1 binary64) z %61)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %62 z))))
(approx %17 %81)
(approx %24 (fma.f64 x z %81))
(approx %32 %66)
(approx %32 %35)
(approx %34 (fma.f64 x z %87))
(approx %24 (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) %90) x)))
(approx %32 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %95))))
(approx %34 %87)
(approx %34 (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %90))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %80 %105))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %95 #s(literal 1 binary64)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (+.f64 x %105) #s(literal 1 binary64)))))
(approx z z)
(approx %32 %67)
(approx %34 (+.f64 y (fma.f64 #s(literal -1 binary64) %19 %14)))
(approx %24 (*.f64 z (+.f64 x %128)))
(approx %32 (*.f64 z (-.f64 %132 #s(literal 1 binary64))))
(approx %34 (*.f64 z (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %19 z) %132))))
(approx %24 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %128)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %132)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %21 z))))))
Calls

9 calls:

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

rewrite171.0ms (9.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01871
02871
18071
219667
359067
4252167
0407967
0424362
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
14 → 663
Calls
Call 1
Inputs
%2 = (-.f64 #s(literal 1 binary64) x)
%5 = (*.f64 x z)
%8 = (* (- 1 x) y)
%9 = (approx %8 y)
%10 = (*.f64 y %2)
%11 = (fma.f64 x z %10)
%15 = (neg.f64 x)
%16 = (-.f64 y z)
#s(literal 1 binary64)
x
%2
y
z
%5
%9
%10
%11
(approx (+ %8 (* x z)) %11)
%15
%16
(fma.f64 %15 %16 y)
(+.f64 %9 %5)
Outputs
%3 = (-.f64 #s(literal 1 binary64) x)
%4 = (*.f64 #s(literal 2 binary64) %3)
%6 = (/.f64 %4 #s(literal 8 binary64))
%9 = (/.f64 %4 #s(literal 4 binary64))
%15 = (/.f64 %4 #s(literal 1/2 binary64))
%19 = (/.f64 %4 #s(literal 1 binary64))
%23 = (-.f64 #s(literal 1/2 binary64) x)
%24 = (fma.f64 %23 #s(literal 2 binary64) #s(literal 1 binary64))
%27 = (neg.f64 x)
%28 = (fma.f64 %27 #s(literal -2 binary64) #s(literal -2 binary64))
%31 = (fma.f64 %27 #s(literal 1 binary64) #s(literal 1 binary64))
%36 = (-.f64 (*.f64 %27 #s(literal -2 binary64)) #s(literal 2 binary64))
%40 = (fma.f64 %4 #s(literal 2 binary64) #s(literal 0 binary64))
%43 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%44 = (neg.f64 %43)
%47 = (neg.f64 %4)
%52 = (+.f64 x x)
%64 = (-.f64 x #s(literal 1 binary64))
%91 = (-.f64 #s(literal 0 binary64) %27)
%93 = (+.f64 #s(literal 0 binary64) x)
%95 = (-.f64 x #s(literal 0 binary64))
%109 = (neg.f64 z)
%112 = (*.f64 z x)
%118 = (*.f64 %109 x)
%123 = (approx (* y (- 1 x)) y)
%128 = (neg.f64 %123)
%130 = (*.f64 %64 #s(literal 1/2 binary64))
%131 = (+.f64 y y)
%132 = (neg.f64 %131)
%134 = (*.f64 %64 #s(literal 1 binary64))
%135 = (neg.f64 y)
%137 = (*.f64 %3 #s(literal 1/2 binary64))
%139 = (*.f64 %3 #s(literal 1 binary64))
%141 = (*.f64 %64 %132)
%143 = (*.f64 %3 %131)
%145 = (/.f64 y #s(literal -2 binary64))
%146 = (*.f64 %64 %145)
%148 = (*.f64 #s(literal 1/2 binary64) y)
%149 = (*.f64 %3 %148)
%151 = (*.f64 %64 #s(literal 2 binary64))
%153 = (*.f64 #s(literal 1/2 binary64) %3)
%155 = (*.f64 #s(literal 1/2 binary64) %64)
%160 = (*.f64 %132 %64)
%162 = (*.f64 %131 %3)
%164 = (*.f64 %145 %64)
%166 = (*.f64 %148 %3)
%170 = (*.f64 y %3)
%177 = (*.f64 %135 %43)
%180 = (*.f64 y %4)
%185 = (*.f64 %43 %135)
%192 = (*.f64 %4 y)
%195 = (*.f64 %135 x)
%196 = (fma.f64 %195 #s(literal 2 binary64) %131)
%199 = (*.f64 %43 %132)
%202 = (*.f64 %132 %43)
%205 = (*.f64 %131 %4)
%208 = (*.f64 %4 %131)
%226 = (*.f64 %64 y)
%228 = (*.f64 %64 #s(literal 0 binary64))
%230 = (*.f64 %3 #s(literal 0 binary64))
%232 = (*.f64 #s(literal 0 binary64) %64)
%234 = (*.f64 #s(literal 0 binary64) %3)
%252 = (*.f64 %27 %131)
%254 = (*.f64 x %132)
%266 = (*.f64 %27 #s(literal 1/2 binary64))
%268 = (*.f64 %27 %148)
%270 = (*.f64 x %145)
%282 = (*.f64 x #s(literal 1/2 binary64))
%284 = (*.f64 #s(literal 1/2 binary64) %148)
%285 = (fma.f64 #s(literal 1/2 binary64) y %195)
%287 = (*.f64 y x)
%288 = (-.f64 %148 %287)
%290 = (*.f64 y %23)
%292 = (*.f64 %23 y)
%294 = (*.f64 %27 #s(literal 1 binary64))
%301 = (*.f64 x #s(literal 1 binary64))
%314 = (*.f64 #s(literal 1/2 binary64) %27)
%325 = (*.f64 #s(literal 1/2 binary64) x)
%332 = (neg.f64 %52)
%354 = (*.f64 %132 x)
%356 = (*.f64 %131 %27)
%372 = (*.f64 %148 #s(literal 1/2 binary64))
%377 = (*.f64 %148 %27)
%379 = (*.f64 %145 x)
%462 = (-.f64 z y)
%463 = (fma.f64 %462 x y)
%464 = (*.f64 #s(literal 1 binary64) %463)
%465 = (pow.f64 %463 #s(literal 1 binary64))
%466 = (*.f64 %462 x)
%467 = (fma.f64 %466 #s(literal 2 binary64) %131)
%469 = (/.f64 (neg.f64 %467) #s(literal -2 binary64))
%471 = (-.f64 (*.f64 %466 #s(literal 2 binary64)) %132)
%473 = (/.f64 (neg.f64 %471) #s(literal -2 binary64))
%474 = (/.f64 %467 #s(literal 2 binary64))
%475 = (/.f64 %471 #s(literal 2 binary64))
%477 = (/.f64 #s(literal 1 binary64) (pow.f64 %463 #s(literal -1 binary64)))
%478 = (-.f64 y z)
%479 = (*.f64 %478 x)
%481 = (neg.f64 (-.f64 %479 y))
%482 = (fma.f64 %130 %132 %112)
%483 = (fma.f64 %134 %135 %112)
%484 = (fma.f64 %137 %131 %112)
%485 = (fma.f64 %139 y %112)
%486 = (-.f64 y %118)
%487 = (fma.f64 %252 #s(literal 1/2 binary64) %486)
%488 = (fma.f64 z x y)
%489 = (fma.f64 %252 #s(literal 1/2 binary64) %488)
%490 = (fma.f64 %254 #s(literal 1/2 binary64) %486)
%491 = (fma.f64 %254 #s(literal 1/2 binary64) %488)
%492 = (fma.f64 %141 #s(literal 1/2 binary64) %112)
%493 = (fma.f64 %143 #s(literal 1/2 binary64) %112)
%494 = (fma.f64 %266 %131 %486)
%495 = (fma.f64 %266 %131 %488)
%496 = (fma.f64 %268 #s(literal 2 binary64) %486)
%497 = (fma.f64 %268 #s(literal 2 binary64) %488)
%498 = (fma.f64 %270 #s(literal 2 binary64) %486)
%499 = (fma.f64 %270 #s(literal 2 binary64) %488)
%500 = (fma.f64 %146 #s(literal 2 binary64) %112)
%501 = (fma.f64 %149 #s(literal 2 binary64) %112)
%502 = (fma.f64 %282 %132 %486)
%503 = (fma.f64 %282 %132 %488)
%504 = (fma.f64 #s(literal 1/2 binary64) y %466)
%505 = (fma.f64 %284 #s(literal 2 binary64) %504)
%506 = (-.f64 %148 %479)
%507 = (fma.f64 %284 #s(literal 2 binary64) %506)
%508 = (fma.f64 %294 y %486)
%509 = (fma.f64 %294 y %488)
%510 = (fma.f64 %151 %145 %112)
%511 = (fma.f64 %301 %135 %486)
%512 = (fma.f64 %301 %135 %488)
%513 = (fma.f64 #s(literal 1/4 binary64) %131 %504)
%514 = (fma.f64 #s(literal 1/4 binary64) %131 %506)
%515 = (fma.f64 %131 %153 %112)
%516 = (fma.f64 %131 %314 %486)
%517 = (fma.f64 %131 %314 %488)
%518 = (fma.f64 %131 #s(literal 1/4 binary64) %504)
%519 = (fma.f64 %131 #s(literal 1/4 binary64) %506)
%520 = (fma.f64 %132 %155 %112)
%521 = (fma.f64 %132 %325 %486)
%522 = (fma.f64 %132 %325 %488)
%523 = (fma.f64 %148 %4 %112)
%524 = (fma.f64 %148 %332 %486)
%525 = (fma.f64 %148 %332 %488)
%526 = (fma.f64 %148 #s(literal 1 binary64) %504)
%527 = (fma.f64 %148 #s(literal 1 binary64) %506)
%528 = (fma.f64 %145 %43 %112)
%529 = (fma.f64 %145 %52 %486)
%530 = (fma.f64 %145 %52 %488)
%531 = (fma.f64 %4 %148 %112)
%532 = (fma.f64 %332 %148 %486)
%533 = (fma.f64 %332 %148 %488)
%534 = (fma.f64 %52 %145 %486)
%535 = (fma.f64 %52 %145 %488)
%536 = (fma.f64 %195 #s(literal 1 binary64) %486)
%537 = (fma.f64 %195 #s(literal 1 binary64) %488)
%538 = (fma.f64 #s(literal 1/2 binary64) %354 %486)
%539 = (fma.f64 #s(literal 1/2 binary64) %354 %488)
%540 = (fma.f64 #s(literal 1/2 binary64) %356 %486)
%541 = (fma.f64 #s(literal 1/2 binary64) %356 %488)
%542 = (fma.f64 #s(literal 1/2 binary64) %160 %112)
%543 = (fma.f64 #s(literal 1/2 binary64) %162 %112)
%544 = (fma.f64 #s(literal 1/2 binary64) y %504)
%545 = (fma.f64 #s(literal 1/2 binary64) y %506)
%546 = (fma.f64 #s(literal 2 binary64) %372 %504)
%547 = (fma.f64 #s(literal 2 binary64) %372 %506)
%548 = (fma.f64 #s(literal 2 binary64) %377 %486)
%549 = (fma.f64 #s(literal 2 binary64) %377 %488)
%550 = (fma.f64 #s(literal 2 binary64) %379 %486)
%551 = (fma.f64 #s(literal 2 binary64) %379 %488)
%552 = (fma.f64 #s(literal 2 binary64) %164 %112)
%553 = (fma.f64 #s(literal 2 binary64) %166 %112)
%554 = (fma.f64 %109 %27 %170)
%555 = (fma.f64 %64 %135 %112)
%556 = (fma.f64 %135 %64 %112)
%557 = (fma.f64 %135 x %486)
%558 = (fma.f64 %135 x %488)
%559 = (fma.f64 %478 %27 y)
%560 = (fma.f64 %27 %109 %170)
%561 = (fma.f64 %27 %478 y)
%562 = (fma.f64 %27 y %486)
%563 = (fma.f64 %27 y %488)
%564 = (fma.f64 %170 #s(literal 1 binary64) %112)
%565 = (fma.f64 z x %170)
%566 = (fma.f64 y #s(literal 1/2 binary64) %504)
%567 = (fma.f64 y #s(literal 1/2 binary64) %506)
%568 = (fma.f64 y %27 %486)
%569 = (fma.f64 y %27 %488)
%570 = (fma.f64 y %3 %112)
%571 = (fma.f64 %3 y %112)
%572 = (fma.f64 x %462 y)
%573 = (fma.f64 x %135 %486)
%574 = (fma.f64 x %135 %488)
%575 = (fma.f64 x z %170)
%576 = (fma.f64 #s(literal 1 binary64) %488 %195)
%577 = (fma.f64 #s(literal 1 binary64) %148 %504)
%578 = (fma.f64 #s(literal 1 binary64) %148 %506)
%579 = (fma.f64 #s(literal 1 binary64) %195 %486)
%580 = (fma.f64 #s(literal 1 binary64) %195 %488)
%581 = (fma.f64 #s(literal 1 binary64) %112 %170)
%582 = (fma.f64 #s(literal 1 binary64) %466 y)
%583 = (fma.f64 #s(literal 1 binary64) %463 #s(literal 0 binary64))
%584 = (fma.f64 #s(literal 1 binary64) %170 %112)
%586 = (-.f64 (-.f64 %466 %145) %145)
%587 = (-.f64 %486 %287)
%588 = (-.f64 %488 %287)
%590 = (-.f64 %195 (neg.f64 %488))
%592 = (-.f64 %195 (-.f64 %118 y))
%593 = (-.f64 %112 %226)
%594 = (-.f64 %466 %135)
%595 = (-.f64 %463 #s(literal 0 binary64))
%596 = (-.f64 %170 %118)
%597 = (-.f64 y %479)
%599 = (+.f64 (fma.f64 %462 x %148) %148)
%600 = (+.f64 %488 %195)
%601 = (+.f64 %148 %504)
%602 = (+.f64 %148 %506)
%603 = (+.f64 %195 %486)
%604 = (+.f64 %195 %488)
%605 = (+.f64 %112 %170)
%606 = (+.f64 %466 y)
%607 = (+.f64 %463 #s(literal 0 binary64))
%608 = (+.f64 %170 %112)
%610 = (+.f64 y (+.f64 #s(literal 0 binary64) %466))
%612 = (+.f64 y (-.f64 #s(literal 0 binary64) %479))
%613 = (+.f64 y %466)
%617 = (approx (- y (* (- y z) x)) %463)
%640 = (fma.f64 %109 #s(literal 2 binary64) %131)
%644 = (-.f64 (*.f64 %109 #s(literal 2 binary64)) %132)
%652 = (fma.f64 #s(literal 1/2 binary64) y %109)
%654 = (-.f64 %148 z)
%687 = (fma.f64 z x %123)
#s(literal 1 binary64)
x
(*.f64 %6 #s(literal 4 binary64))
(*.f64 %9 #s(literal 2 binary64))
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 (neg.f64 %15) #s(literal -4 binary64))
(/.f64 (neg.f64 %19) #s(literal -2 binary64))
(/.f64 (neg.f64 %24) #s(literal -2 binary64))
(/.f64 (neg.f64 %28) #s(literal 2 binary64))
(/.f64 (neg.f64 %31) #s(literal -1 binary64))
(/.f64 (neg.f64 %36) #s(literal 2 binary64))
(/.f64 (neg.f64 %40) #s(literal -4 binary64))
(/.f64 (neg.f64 %44) #s(literal -2 binary64))
(/.f64 (neg.f64 %47) #s(literal 2 binary64))
(/.f64 %15 #s(literal 4 binary64))
(/.f64 %19 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %52) #s(literal 2 binary64))
(/.f64 %24 #s(literal 2 binary64))
(/.f64 %28 #s(literal -2 binary64))
(/.f64 %31 #s(literal 1 binary64))
(/.f64 %36 #s(literal -2 binary64))
(/.f64 %40 #s(literal 4 binary64))
(/.f64 %44 #s(literal 2 binary64))
(/.f64 %47 #s(literal -2 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 %43 #s(literal -2 binary64))
(/.f64 %64 #s(literal -1 binary64))
(/.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %4))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %64)
(fma.f64 %6 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %9 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %4 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %23 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %27 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %3 #s(literal 0 binary64))
(-.f64 (+.f64 %3 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %23 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %27))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1/2 binary64) (-.f64 x #s(literal 1/2 binary64)))
(-.f64 #s(literal 0 binary64) %64)
(-.f64 %27 #s(literal -1 binary64))
(-.f64 %3 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) %91)
(-.f64 #s(literal 1 binary64) %93)
(-.f64 #s(literal 1 binary64) %95)
%3
(+.f64 (/.f64 %52 #s(literal -2 binary64)) #s(literal 1 binary64))
(+.f64 %23 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 0 binary64) %23))
(+.f64 #s(literal 1/2 binary64) %23)
(+.f64 #s(literal 0 binary64) %3)
(+.f64 %27 #s(literal 1 binary64))
(+.f64 %3 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %27)
y
z
(*.f64 %109 %27)
(*.f64 %27 %109)
%112
(*.f64 x z)
(*.f64 #s(literal 1 binary64) %112)
(pow.f64 %112 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %112 #s(literal -1 binary64)))
(neg.f64 %118)
(*.f64 #s(literal 1 binary64) %123)
(pow.f64 %123 #s(literal 1 binary64))
%123
(/.f64 #s(literal 1 binary64) (pow.f64 %123 #s(literal -1 binary64)))
(neg.f64 %128)
(*.f64 %130 %132)
(*.f64 %134 %135)
(*.f64 %137 %131)
(*.f64 %139 y)
(*.f64 %141 #s(literal 1/2 binary64))
(*.f64 %143 #s(literal 1/2 binary64))
(*.f64 %146 #s(literal 2 binary64))
(*.f64 %149 #s(literal 2 binary64))
(*.f64 %151 %145)
(*.f64 %131 %153)
(*.f64 %132 %155)
(*.f64 %148 %4)
(*.f64 %145 %43)
(*.f64 %4 %148)
(*.f64 #s(literal 1/2 binary64) %160)
(*.f64 #s(literal 1/2 binary64) %162)
(*.f64 #s(literal 2 binary64) %164)
(*.f64 #s(literal 2 binary64) %166)
(*.f64 %64 %135)
(*.f64 %135 %64)
(*.f64 %170 #s(literal 1 binary64))
%170
(*.f64 %3 y)
(*.f64 #s(literal 1 binary64) %170)
(pow.f64 %170 #s(literal 1 binary64))
(/.f64 (neg.f64 %141) #s(literal -2 binary64))
(/.f64 (neg.f64 %177) #s(literal -2 binary64))
(/.f64 (neg.f64 %180) #s(literal -2 binary64))
(/.f64 (neg.f64 %143) #s(literal -2 binary64))
(/.f64 (neg.f64 %185) #s(literal -2 binary64))
(/.f64 (neg.f64 %160) #s(literal -2 binary64))
(/.f64 (neg.f64 %162) #s(literal -2 binary64))
(/.f64 (neg.f64 %192) #s(literal -2 binary64))
(/.f64 (neg.f64 %196) #s(literal -2 binary64))
(/.f64 (neg.f64 %199) #s(literal -4 binary64))
(/.f64 (neg.f64 %202) #s(literal -4 binary64))
(/.f64 (neg.f64 %205) #s(literal -4 binary64))
(/.f64 (neg.f64 %208) #s(literal -4 binary64))
(/.f64 %141 #s(literal 2 binary64))
(/.f64 %177 #s(literal 2 binary64))
(/.f64 %180 #s(literal 2 binary64))
(/.f64 %143 #s(literal 2 binary64))
(/.f64 %185 #s(literal 2 binary64))
(/.f64 %160 #s(literal 2 binary64))
(/.f64 %162 #s(literal 2 binary64))
(/.f64 %192 #s(literal 2 binary64))
(/.f64 %196 #s(literal 2 binary64))
(/.f64 %199 #s(literal 4 binary64))
(/.f64 %202 #s(literal 4 binary64))
(/.f64 %205 #s(literal 4 binary64))
(/.f64 %208 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %170 #s(literal -1 binary64)))
(neg.f64 %226)
(fma.f64 %130 %132 %228)
(fma.f64 %130 %132 %230)
(fma.f64 %130 %132 %232)
(fma.f64 %130 %132 %234)
(fma.f64 %130 %132 #s(literal 0 binary64))
(fma.f64 %134 %135 %228)
(fma.f64 %134 %135 %230)
(fma.f64 %134 %135 %232)
(fma.f64 %134 %135 %234)
(fma.f64 %134 %135 #s(literal 0 binary64))
(fma.f64 %137 %131 %228)
(fma.f64 %137 %131 %230)
(fma.f64 %137 %131 %232)
(fma.f64 %137 %131 %234)
(fma.f64 %137 %131 #s(literal 0 binary64))
(fma.f64 %139 y %228)
(fma.f64 %139 y %230)
(fma.f64 %139 y %232)
(fma.f64 %139 y %234)
(fma.f64 %139 y #s(literal 0 binary64))
(fma.f64 %252 #s(literal 1/2 binary64) y)
(fma.f64 %254 #s(literal 1/2 binary64) y)
(fma.f64 %141 #s(literal 1/2 binary64) %228)
(fma.f64 %141 #s(literal 1/2 binary64) %230)
(fma.f64 %141 #s(literal 1/2 binary64) %232)
(fma.f64 %141 #s(literal 1/2 binary64) %234)
(fma.f64 %141 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %143 #s(literal 1/2 binary64) %228)
(fma.f64 %143 #s(literal 1/2 binary64) %230)
(fma.f64 %143 #s(literal 1/2 binary64) %232)
(fma.f64 %143 #s(literal 1/2 binary64) %234)
(fma.f64 %143 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %266 %131 y)
(fma.f64 %268 #s(literal 2 binary64) y)
(fma.f64 %270 #s(literal 2 binary64) y)
(fma.f64 %146 #s(literal 2 binary64) %228)
(fma.f64 %146 #s(literal 2 binary64) %230)
(fma.f64 %146 #s(literal 2 binary64) %232)
(fma.f64 %146 #s(literal 2 binary64) %234)
(fma.f64 %146 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %149 #s(literal 2 binary64) %228)
(fma.f64 %149 #s(literal 2 binary64) %230)
(fma.f64 %149 #s(literal 2 binary64) %232)
(fma.f64 %149 #s(literal 2 binary64) %234)
(fma.f64 %149 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %282 %132 y)
(fma.f64 %284 #s(literal 2 binary64) %285)
(fma.f64 %284 #s(literal 2 binary64) %288)
(fma.f64 %284 #s(literal 2 binary64) %290)
(fma.f64 %284 #s(literal 2 binary64) %292)
(fma.f64 %294 y y)
(fma.f64 %151 %145 %228)
(fma.f64 %151 %145 %230)
(fma.f64 %151 %145 %232)
(fma.f64 %151 %145 %234)
(fma.f64 %151 %145 #s(literal 0 binary64))
(fma.f64 %301 %135 y)
(fma.f64 #s(literal 1/4 binary64) %131 %285)
(fma.f64 #s(literal 1/4 binary64) %131 %288)
(fma.f64 #s(literal 1/4 binary64) %131 %290)
(fma.f64 #s(literal 1/4 binary64) %131 %292)
(fma.f64 %23 y %148)
(fma.f64 %131 %153 %228)
(fma.f64 %131 %153 %230)
(fma.f64 %131 %153 %232)
(fma.f64 %131 %153 %234)
(fma.f64 %131 %153 #s(literal 0 binary64))
(fma.f64 %131 %314 y)
(fma.f64 %131 #s(literal 1/4 binary64) %285)
(fma.f64 %131 #s(literal 1/4 binary64) %288)
(fma.f64 %131 #s(literal 1/4 binary64) %290)
(fma.f64 %131 #s(literal 1/4 binary64) %292)
(fma.f64 %132 %155 %228)
(fma.f64 %132 %155 %230)
(fma.f64 %132 %155 %232)
(fma.f64 %132 %155 %234)
(fma.f64 %132 %155 #s(literal 0 binary64))
(fma.f64 %132 %325 y)
(fma.f64 %148 %4 %228)
(fma.f64 %148 %4 %230)
(fma.f64 %148 %4 %232)
(fma.f64 %148 %4 %234)
(fma.f64 %148 %4 #s(literal 0 binary64))
(fma.f64 %148 %332 y)
(fma.f64 %148 %3 %166)
(fma.f64 %148 #s(literal 1 binary64) %285)
(fma.f64 %148 #s(literal 1 binary64) %288)
(fma.f64 %148 #s(literal 1 binary64) %290)
(fma.f64 %148 #s(literal 1 binary64) %292)
(fma.f64 %145 %43 %228)
(fma.f64 %145 %43 %230)
(fma.f64 %145 %43 %232)
(fma.f64 %145 %43 %234)
(fma.f64 %145 %43 #s(literal 0 binary64))
(fma.f64 %145 %52 y)
(fma.f64 %145 %64 %164)
(fma.f64 %4 %148 %228)
(fma.f64 %4 %148 %230)
(fma.f64 %4 %148 %232)
(fma.f64 %4 %148 %234)
(fma.f64 %4 %148 #s(literal 0 binary64))
(fma.f64 %332 %148 y)
(fma.f64 %52 %145 y)
(fma.f64 %195 #s(literal 1 binary64) y)
(fma.f64 #s(literal 1/2 binary64) %354 y)
(fma.f64 #s(literal 1/2 binary64) %356 y)
(fma.f64 #s(literal 1/2 binary64) %160 %228)
(fma.f64 #s(literal 1/2 binary64) %160 %230)
(fma.f64 #s(literal 1/2 binary64) %160 %232)
(fma.f64 #s(literal 1/2 binary64) %160 %234)
(fma.f64 #s(literal 1/2 binary64) %160 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %162 %228)
(fma.f64 #s(literal 1/2 binary64) %162 %230)
(fma.f64 #s(literal 1/2 binary64) %162 %232)
(fma.f64 #s(literal 1/2 binary64) %162 %234)
(fma.f64 #s(literal 1/2 binary64) %162 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) y %285)
(fma.f64 #s(literal 1/2 binary64) y %288)
(fma.f64 #s(literal 1/2 binary64) y %290)
(fma.f64 #s(literal 1/2 binary64) y %292)
(fma.f64 #s(literal 2 binary64) %372 %285)
(fma.f64 #s(literal 2 binary64) %372 %288)
(fma.f64 #s(literal 2 binary64) %372 %290)
(fma.f64 #s(literal 2 binary64) %372 %292)
(fma.f64 #s(literal 2 binary64) %377 y)
(fma.f64 #s(literal 2 binary64) %379 y)
(fma.f64 #s(literal 2 binary64) %164 %228)
(fma.f64 #s(literal 2 binary64) %164 %230)
(fma.f64 #s(literal 2 binary64) %164 %232)
(fma.f64 #s(literal 2 binary64) %164 %234)
(fma.f64 #s(literal 2 binary64) %164 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %166 %228)
(fma.f64 #s(literal 2 binary64) %166 %230)
(fma.f64 #s(literal 2 binary64) %166 %232)
(fma.f64 #s(literal 2 binary64) %166 %234)
(fma.f64 #s(literal 2 binary64) %166 #s(literal 0 binary64))
(fma.f64 %64 %145 %146)
(fma.f64 %64 %135 %228)
(fma.f64 %64 %135 %230)
(fma.f64 %64 %135 %232)
(fma.f64 %64 %135 %234)
(fma.f64 %64 %135 #s(literal 0 binary64))
(fma.f64 %135 %64 %228)
(fma.f64 %135 %64 %230)
(fma.f64 %135 %64 %232)
(fma.f64 %135 %64 %234)
(fma.f64 %135 %64 #s(literal 0 binary64))
(fma.f64 %135 x y)
(fma.f64 %27 y y)
(fma.f64 %170 #s(literal 1 binary64) %228)
(fma.f64 %170 #s(literal 1 binary64) %230)
(fma.f64 %170 #s(literal 1 binary64) %232)
(fma.f64 %170 #s(literal 1 binary64) %234)
(fma.f64 %170 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 y %23 %148)
(fma.f64 y #s(literal 1/2 binary64) %285)
(fma.f64 y #s(literal 1/2 binary64) %288)
(fma.f64 y #s(literal 1/2 binary64) %290)
(fma.f64 y #s(literal 1/2 binary64) %292)
(fma.f64 y %27 y)
(fma.f64 y %3 %228)
(fma.f64 y %3 %230)
(fma.f64 y %3 %232)
(fma.f64 y %3 %234)
(fma.f64 y %3 #s(literal 0 binary64))
(fma.f64 %3 %148 %149)
(fma.f64 %3 y %228)
(fma.f64 %3 y %230)
(fma.f64 %3 y %232)
(fma.f64 %3 y %234)
(fma.f64 %3 y #s(literal 0 binary64))
(fma.f64 x %135 y)
(fma.f64 #s(literal 1 binary64) %148 %285)
(fma.f64 #s(literal 1 binary64) %148 %288)
(fma.f64 #s(literal 1 binary64) %148 %290)
(fma.f64 #s(literal 1 binary64) %148 %292)
(fma.f64 #s(literal 1 binary64) %195 y)
(fma.f64 #s(literal 1 binary64) %170 %228)
(fma.f64 #s(literal 1 binary64) %170 %230)
(fma.f64 #s(literal 1 binary64) %170 %232)
(fma.f64 #s(literal 1 binary64) %170 %234)
(fma.f64 #s(literal 1 binary64) %170 #s(literal 0 binary64))
(-.f64 %195 %135)
(-.f64 y %287)
(+.f64 (fma.f64 %135 x %148) %148)
(+.f64 %146 %146)
(+.f64 %290 %148)
(+.f64 %149 %149)
(+.f64 %164 %164)
(+.f64 %292 %148)
(+.f64 %166 %166)
(+.f64 %148 %285)
(+.f64 %148 %288)
(+.f64 %148 %290)
(+.f64 %148 %292)
(+.f64 %195 y)
(+.f64 %170 %228)
(+.f64 %170 %230)
(+.f64 %170 %232)
(+.f64 %170 %234)
(+.f64 %170 #s(literal 0 binary64))
(+.f64 y (+.f64 #s(literal 0 binary64) %195))
(+.f64 y (-.f64 #s(literal 0 binary64) %287))
(+.f64 y %195)
%464
%465
%469
%473
%474
%475
%477
%481
%482
%483
%484
%485
%487
%489
%490
%491
%492
%493
%494
%495
%496
%497
%498
%499
%500
%501
%502
%503
%505
%507
%508
%509
%510
%511
%512
%513
%514
%515
%516
%517
%518
%519
%520
%521
%522
%523
%524
%525
%526
%527
%528
%529
%530
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%542
%543
%544
%545
%546
%547
%548
%549
%550
%551
%552
%553
%554
%463
%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
%586
%587
%588
%590
%592
%593
%594
%595
%596
%597
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%610
%612
%613
(*.f64 #s(literal 1 binary64) %617)
(pow.f64 %617 #s(literal 1 binary64))
%617
(/.f64 #s(literal 1 binary64) (pow.f64 %617 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %27)
(pow.f64 %27 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1 binary64)))
(neg.f64 %93)
(neg.f64 %95)
%27
(fma.f64 #s(literal 1 binary64) %27 #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) %91)
(-.f64 #s(literal 0 binary64) %93)
(-.f64 #s(literal 0 binary64) x)
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) %27))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 0 binary64) %27)
(+.f64 %27 #s(literal 0 binary64))
(*.f64 #s(literal 1 binary64) %478)
(pow.f64 %478 #s(literal 1 binary64))
(/.f64 (neg.f64 %640) #s(literal -2 binary64))
(/.f64 (neg.f64 %644) #s(literal -2 binary64))
(/.f64 %640 #s(literal 2 binary64))
(/.f64 %644 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %478 #s(literal -1 binary64)))
(neg.f64 %462)
(fma.f64 %284 #s(literal 2 binary64) %652)
(fma.f64 %284 #s(literal 2 binary64) %654)
(fma.f64 #s(literal 1/4 binary64) %131 %652)
(fma.f64 #s(literal 1/4 binary64) %131 %654)
(fma.f64 %131 #s(literal 1/4 binary64) %652)
(fma.f64 %131 #s(literal 1/4 binary64) %654)
(fma.f64 %148 #s(literal 1 binary64) %652)
(fma.f64 %148 #s(literal 1 binary64) %654)
(fma.f64 #s(literal 1/2 binary64) y %652)
(fma.f64 #s(literal 1/2 binary64) y %654)
(fma.f64 #s(literal 2 binary64) %372 %652)
(fma.f64 #s(literal 2 binary64) %372 %654)
(fma.f64 y #s(literal 1/2 binary64) %652)
(fma.f64 y #s(literal 1/2 binary64) %654)
(fma.f64 #s(literal 1 binary64) %148 %652)
(fma.f64 #s(literal 1 binary64) %148 %654)
(fma.f64 #s(literal 1 binary64) %109 y)
(fma.f64 #s(literal 1 binary64) %478 #s(literal 0 binary64))
(-.f64 (-.f64 %109 %145) %145)
(-.f64 %109 %135)
(-.f64 %478 #s(literal 0 binary64))
%478
(+.f64 (+.f64 %109 %148) %148)
(+.f64 %148 %652)
(+.f64 %148 %654)
(+.f64 %109 y)
(+.f64 %478 #s(literal 0 binary64))
(+.f64 y (+.f64 #s(literal 0 binary64) %109))
(+.f64 y (-.f64 #s(literal 0 binary64) z))
(+.f64 y %109)
%464
%465
%469
%473
%474
%475
%477
%481
%482
%483
%484
%485
%487
%489
%490
%491
%492
%493
%494
%495
%496
%497
%498
%499
%500
%501
%502
%503
%505
%507
%508
%509
%510
%511
%512
%513
%514
%515
%516
%517
%518
%519
%520
%521
%522
%523
%524
%525
%526
%527
%528
%529
%530
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%542
%543
%544
%545
%546
%547
%548
%549
%550
%551
%552
%553
%554
%463
%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
%586
%587
%588
%590
%592
%593
%594
%595
%596
%597
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%610
%612
%613
(*.f64 #s(literal 1 binary64) %687)
(pow.f64 %687 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %687 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %687))
(fma.f64 %109 %27 %123)
(fma.f64 %27 %109 %123)
%687
(fma.f64 x z %123)
(fma.f64 #s(literal 1 binary64) %112 %123)
(fma.f64 #s(literal 1 binary64) %123 %112)
(-.f64 %112 %128)
(-.f64 %123 %118)
(+.f64 %112 %123)
(+.f64 %123 %112)

reconstruct97.0ms (5.1%)

Counts
707 → 71
Compiler

Compiled 707 to 786 computations (-11.2% saved)

eval11.0ms (0.6%)

Compiler

Compiled 67 to 159 computations (-137.3% saved)

prune3.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New65267
Fresh000
Picked213
Done000
Total67370
Accuracy
100.0%
Counts
70 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x (-.f64 z y) y)
71.4%
(fma.f64 x z (approx (* y (- 1 x)) y))
98.8%
(approx (+ (* (- 1 x) y) (* x z)) (fma.f64 x z (*.f64 y (-.f64 #s(literal 1 binary64) x))))
Compiler

Compiled 3 to 10 computations (-233.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series24.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0140582
Stop Event
iter-limit
Counts
7 → 39
Calls
Call 1
Inputs
%6 = (approx (* y (- 1 x)) y)
%7 = (-.f64 z y)
x
y
z
%6
%7
(fma.f64 x %7 y)
(fma.f64 x z %6)
Outputs
%7 = (* y (- 1 x))
%10 = (*.f64 x y)
%11 = (*.f64 #s(literal -1 binary64) %10)
%12 = (+.f64 y %11)
%15 = (- z y)
%17 = (+ (* x %15) y)
%18 = (-.f64 z y)
%19 = (*.f64 x %18)
%23 = (+ (* x z) %7)
%24 = (*.f64 #s(literal -1 binary64) y)
%25 = (+.f64 z %24)
%26 = (*.f64 x %25)
%30 = (/.f64 y x)
%31 = (fma.f64 #s(literal -1 binary64) y %30)
%43 = (*.f64 #s(literal -1 binary64) %30)
%63 = (-.f64 #s(literal 1 binary64) x)
%64 = (*.f64 y %63)
%68 = (*.f64 x z)
%72 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
%78 = (/.f64 z y)
%83 = (/.f64 %68 y)
%101 = (*.f64 #s(literal -1 binary64) %83)
%115 = (/.f64 y z)
%125 = (/.f64 %64 z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 y)
(approx %7 %12)
(approx %17 (+.f64 y %19))
(approx %23 (+.f64 y %26))
(approx %7 %11)
(approx %7 (*.f64 x %31))
(approx %17 %19)
(approx %17 (*.f64 x (-.f64 (+.f64 z %30) y)))
(approx %23 %26)
(approx %23 (*.f64 x (+.f64 z %31)))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y %43))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %18 %43))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (fma.f64 #s(literal -1 binary64) z %43)))))
(approx %7 %64)
(approx %15 z)
(approx %15 %25)
(approx %17 %68)
(approx %17 (fma.f64 x z %72))
(approx %23 (fma.f64 x z %64))
(approx %15 %24)
(approx %15 (*.f64 y (-.f64 %78 #s(literal 1 binary64))))
(approx %17 %72)
(approx %17 (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %83))))
(approx %23 (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) %83) x)))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %78)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (+.f64 x %101) #s(literal 1 binary64)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %63 %101))))
(approx %15 %18)
(approx %17 (+.f64 y (fma.f64 #s(literal -1 binary64) %10 %68)))
(approx %15 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %115))))
(approx %17 (*.f64 z (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %10 z) %115))))
(approx %23 (*.f64 z (+.f64 x %125)))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %115 #s(literal 1 binary64)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %12 z))))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %125)))))
Calls

9 calls:

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

rewrite111.0ms (5.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
01529
14929
211829
336929
4185629
0401929
0417729
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 154
Calls
Call 1
Inputs
%6 = (approx (* y (- 1 x)) y)
%7 = (-.f64 z y)
x
y
z
%6
%7
(fma.f64 x %7 y)
(fma.f64 x z %6)
Outputs
%7 = (approx (* (- 1 x) y) y)
%13 = (neg.f64 %7)
%15 = (-.f64 z y)
%20 = (+.f64 y y)
%21 = (-.f64 (*.f64 z #s(literal 2 binary64)) %20)
%31 = (-.f64 y z)
%36 = (*.f64 #s(literal 1/2 binary64) y)
%44 = (neg.f64 %36)
%46 = (neg.f64 %20)
%63 = (neg.f64 y)
%69 = (neg.f64 z)
%74 = (fma.f64 %15 x y)
%77 = (*.f64 %15 x)
%78 = (fma.f64 %77 #s(literal 2 binary64) %20)
%86 = (*.f64 %31 x)
%89 = (-.f64 #s(literal 1 binary64) x)
%91 = (*.f64 z x)
%97 = (neg.f64 x)
%98 = (*.f64 %97 %20)
%99 = (-.f64 %91 %63)
%101 = (fma.f64 z x y)
%105 = (*.f64 %97 %36)
%108 = (*.f64 %97 #s(literal 1/2 binary64))
%111 = (*.f64 #s(literal 1/2 binary64) %36)
%112 = (fma.f64 #s(literal 1/2 binary64) y %77)
%114 = (-.f64 %36 %86)
%116 = (*.f64 %97 #s(literal 1 binary64))
%124 = (*.f64 #s(literal 1/2 binary64) %97)
%129 = (*.f64 #s(literal 2 binary64) %89)
%132 = (neg.f64 (+.f64 x x))
%140 = (*.f64 %97 y)
%143 = (*.f64 %89 y)
%147 = (*.f64 %20 %97)
%154 = (*.f64 %36 %97)
%157 = (*.f64 %36 #s(literal 1/2 binary64))
%165 = (-.f64 x #s(literal 1 binary64))
%198 = (*.f64 %97 z)
%217 = (fma.f64 z x %7)
x
y
z
(*.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 %13)
(*.f64 #s(literal 1 binary64) %15)
(pow.f64 %15 #s(literal 1 binary64))
(/.f64 (-.f64 %21 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 %21) #s(literal -2 binary64))
(/.f64 %21 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -1 binary64)))
(neg.f64 %31)
(fma.f64 (*.f64 #s(literal -1 binary64) %20) #s(literal 1/2 binary64) z)
(fma.f64 (*.f64 #s(literal -1 binary64) %36) #s(literal 2 binary64) z)
(fma.f64 (*.f64 y #s(literal -1/2 binary64)) #s(literal 2 binary64) z)
(fma.f64 (*.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64) z)
(fma.f64 %44 #s(literal 2 binary64) z)
(fma.f64 %46 #s(literal 1/2 binary64) z)
(fma.f64 %20 #s(literal -1/2 binary64) z)
(fma.f64 %36 #s(literal -2 binary64) z)
(fma.f64 #s(literal -1/2 binary64) %20 z)
(fma.f64 #s(literal -2 binary64) %36 z)
(fma.f64 #s(literal -1 binary64) y z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %20 #s(literal -1 binary64)) z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -2 binary64) y) z)
(fma.f64 #s(literal 1/2 binary64) %46 z)
(fma.f64 #s(literal 2 binary64) (*.f64 %36 #s(literal -1 binary64)) z)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) y) z)
(fma.f64 #s(literal 2 binary64) %44 z)
(fma.f64 %63 #s(literal 1 binary64) z)
(fma.f64 #s(literal 1 binary64) %63 z)
(fma.f64 y #s(literal -1 binary64) z)
(-.f64 (-.f64 z %36) %36)
(-.f64 %63 %69)
(-.f64 %15 #s(literal 0 binary64))
%15
(+.f64 %63 z)
(+.f64 z %63)
(*.f64 #s(literal 1 binary64) %74)
(pow.f64 %74 #s(literal 1 binary64))
(/.f64 (+.f64 %78 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 %78) #s(literal -2 binary64))
(/.f64 %78 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %74 #s(literal -1 binary64)))
(neg.f64 (-.f64 %86 y))
(fma.f64 (*.f64 %89 #s(literal 1/2 binary64)) %20 %91)
(fma.f64 (*.f64 %89 #s(literal 1 binary64)) y %91)
(fma.f64 (*.f64 %89 %20) #s(literal 1/2 binary64) %91)
(fma.f64 %98 #s(literal 1/2 binary64) %99)
(fma.f64 %98 #s(literal 1/2 binary64) %101)
(fma.f64 (*.f64 %89 %36) #s(literal 2 binary64) %91)
(fma.f64 %105 #s(literal 2 binary64) %99)
(fma.f64 %105 #s(literal 2 binary64) %101)
(fma.f64 %108 %20 %99)
(fma.f64 %108 %20 %101)
(fma.f64 %111 #s(literal 2 binary64) %112)
(fma.f64 %111 #s(literal 2 binary64) %114)
(fma.f64 %116 y %99)
(fma.f64 %116 y %101)
(fma.f64 #s(literal 1/4 binary64) %20 %112)
(fma.f64 #s(literal 1/4 binary64) %20 %114)
(fma.f64 %20 (*.f64 #s(literal 1/2 binary64) %89) %91)
(fma.f64 %20 %124 %99)
(fma.f64 %20 %124 %101)
(fma.f64 %20 #s(literal 1/4 binary64) %112)
(fma.f64 %20 #s(literal 1/4 binary64) %114)
(fma.f64 %36 %129 %91)
(fma.f64 %36 %132 %99)
(fma.f64 %36 %132 %101)
(fma.f64 %36 #s(literal 1 binary64) %112)
(fma.f64 %36 #s(literal 1 binary64) %114)
(fma.f64 %129 %36 %91)
(fma.f64 %132 %36 %99)
(fma.f64 %132 %36 %101)
(fma.f64 %140 #s(literal 1 binary64) %99)
(fma.f64 %140 #s(literal 1 binary64) %101)
(fma.f64 %69 %97 %143)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %20 %89) %91)
(fma.f64 #s(literal 1/2 binary64) %147 %99)
(fma.f64 #s(literal 1/2 binary64) %147 %101)
(fma.f64 #s(literal 1/2 binary64) y %112)
(fma.f64 #s(literal 1/2 binary64) y %114)
(fma.f64 #s(literal 2 binary64) (*.f64 %36 %89) %91)
(fma.f64 #s(literal 2 binary64) %154 %99)
(fma.f64 #s(literal 2 binary64) %154 %101)
(fma.f64 #s(literal 2 binary64) %157 %112)
(fma.f64 #s(literal 2 binary64) %157 %114)
(fma.f64 %97 %69 %143)
(fma.f64 %97 %31 y)
(fma.f64 %97 y %99)
(fma.f64 %97 y %101)
(fma.f64 %31 %97 y)
(fma.f64 %165 %63 %91)
(fma.f64 %63 %165 %91)
(fma.f64 %63 x %99)
(fma.f64 %63 x %101)
%74
(fma.f64 %143 #s(literal 1 binary64) %91)
(fma.f64 %89 y %91)
(fma.f64 #s(literal 1 binary64) %101 %140)
(fma.f64 #s(literal 1 binary64) %36 %112)
(fma.f64 #s(literal 1 binary64) %36 %114)
(fma.f64 #s(literal 1 binary64) %140 %99)
(fma.f64 #s(literal 1 binary64) %140 %101)
(fma.f64 #s(literal 1 binary64) %91 %143)
(fma.f64 #s(literal 1 binary64) %77 y)
(fma.f64 #s(literal 1 binary64) %74 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %143 %91)
(fma.f64 z x %143)
(fma.f64 y #s(literal 1/2 binary64) %112)
(fma.f64 y #s(literal 1/2 binary64) %114)
(fma.f64 y %97 %99)
(fma.f64 y %97 %101)
(fma.f64 y %89 %91)
(fma.f64 x %63 %99)
(fma.f64 x %63 %101)
(fma.f64 x %15 y)
(fma.f64 x z %143)
(-.f64 %101 (*.f64 y x))
(-.f64 %140 (-.f64 %63 %91))
(-.f64 %91 (*.f64 %165 y))
(-.f64 %77 %63)
(-.f64 %143 %198)
(-.f64 y %86)
(+.f64 (fma.f64 %15 x %36) %36)
(+.f64 %101 %140)
(+.f64 %36 %112)
(+.f64 %36 %114)
(+.f64 %140 %99)
(+.f64 %140 %101)
(+.f64 %91 %143)
(+.f64 %77 y)
(+.f64 %74 #s(literal 0 binary64))
(+.f64 %143 %91)
(+.f64 y (+.f64 #s(literal 0 binary64) %77))
(+.f64 y (-.f64 #s(literal 0 binary64) %86))
(+.f64 y %77)
(*.f64 #s(literal 1 binary64) %217)
(pow.f64 %217 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %217 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %217))
(fma.f64 %69 %97 %7)
(fma.f64 %97 %69 %7)
(fma.f64 #s(literal 1 binary64) %91 %7)
(fma.f64 #s(literal 1 binary64) %7 %91)
%217
(fma.f64 x z %7)
(-.f64 %91 %13)
(-.f64 %7 %198)
(+.f64 %91 %7)
(+.f64 %7 %91)

reconstruct13.0ms (0.7%)

Counts
193 → 42
Compiler

Compiled 193 to 317 computations (-64.2% saved)

eval3.0ms (0.2%)

Compiler

Compiled 40 to 104 computations (-160.0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New37340
Fresh000
Picked022
Done011
Total37643
Accuracy
100.0%
Counts
43 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.6%
(fma.f64 (approx x #s(literal 0 binary64)) z (approx (* y (- 1 x)) y))
100.0%
(fma.f64 x (-.f64 z y) y)
71.4%
(fma.f64 x z (approx (* y (- 1 x)) y))
98.8%
(approx (+ (* (- 1 x) y) (* x z)) (fma.f64 x z (*.f64 y (-.f64 #s(literal 1 binary64) x))))
64.2%
(approx (+ (* x (- z y)) y) (*.f64 x (-.f64 z y)))
36.4%
(approx (+ (* x (- z y)) y) (*.f64 x z))
Compiler

Compiled 6 to 14 computations (-133.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series16.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0153662
Stop Event
iter-limit
Counts
12 → 44
Calls
Call 1
Inputs
%3 = (*.f64 x z)
%8 = (approx (* y (- 1 x)) y)
%9 = (-.f64 z y)
%10 = (approx x #s(literal 0 binary64))
%11 = (*.f64 x %9)
%14 = (+ (* x (- z y)) y)
x
y
z
%3
#s(literal 0 binary64)
%8
%9
%10
%11
(approx %14 %11)
(approx %14 %3)
(fma.f64 %10 z %8)
Outputs
%5 = (* x z)
%6 = (*.f64 x z)
%11 = (* y (- 1 x))
%14 = (*.f64 x y)
%15 = (*.f64 #s(literal -1 binary64) %14)
%16 = (+.f64 y %15)
%18 = (- z y)
%19 = (* x %18)
%20 = (-.f64 z y)
%21 = (*.f64 x %20)
%23 = (+ %19 y)
%26 = (+ %5 %11)
%27 = (*.f64 #s(literal -1 binary64) y)
%28 = (+.f64 z %27)
%29 = (*.f64 x %28)
%33 = (/.f64 y x)
%34 = (fma.f64 #s(literal -1 binary64) y %33)
%45 = (*.f64 #s(literal -1 binary64) %33)
%65 = (-.f64 #s(literal 1 binary64) x)
%66 = (*.f64 y %65)
%70 = (fma.f64 #s(literal -1 binary64) %14 %6)
%74 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
%80 = (/.f64 z y)
%84 = (/.f64 %6 y)
%85 = (fma.f64 #s(literal -1 binary64) x %84)
%101 = (*.f64 #s(literal -1 binary64) %84)
%102 = (+.f64 x %101)
%121 = (/.f64 y z)
%126 = (/.f64 %14 z)
%135 = (/.f64 %66 z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 y)
(approx %11 %16)
(approx %19 %21)
(approx %23 (+.f64 y %21))
(approx %26 (+.f64 y %29))
(approx %11 %15)
(approx %11 (*.f64 x %34))
(approx %23 (*.f64 x (-.f64 (+.f64 z %33) y)))
(approx %26 %29)
(approx %26 (*.f64 x (+.f64 z %34)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y %45))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %20 %45))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (fma.f64 #s(literal -1 binary64) z %45)))))
(approx %11 %66)
(approx %18 z)
(approx %18 %28)
(approx %19 %70)
(approx %23 (fma.f64 x z %74))
(approx %26 (fma.f64 x z %66))
(approx %18 %27)
(approx %18 (*.f64 y (-.f64 %80 #s(literal 1 binary64))))
(approx %19 (*.f64 y %85))
(approx %23 %74)
(approx %23 (*.f64 y (+.f64 #s(literal 1 binary64) %85)))
(approx %26 (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) %84) x)))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %80)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y %102)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x #s(literal 1 binary64)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %102 #s(literal 1 binary64)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %65 %101))))
(approx %18 %20)
(approx %23 (+.f64 y %70))
(approx %18 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %121))))
(approx %19 (*.f64 z (+.f64 x (*.f64 #s(literal -1 binary64) %126))))
(approx %23 (*.f64 z (+.f64 x (fma.f64 #s(literal -1 binary64) %126 %121))))
(approx %26 (*.f64 z (+.f64 x %135)))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %121 #s(literal 1 binary64)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x %126))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %16 z))))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %135)))))
Calls

9 calls:

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

rewrite157.0ms (8.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01861
02361
16361
213361
341761
4262661
0401761
0414259
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
12 → 139
Calls
Call 1
Inputs
%3 = (*.f64 x z)
%8 = (approx (* y (- 1 x)) y)
%9 = (-.f64 z y)
%10 = (approx x #s(literal 0 binary64))
%11 = (*.f64 x %9)
%14 = (+ (* x (- z y)) y)
x
y
z
%3
#s(literal 0 binary64)
%8
%9
%10
%11
(approx %14 %11)
(approx %14 %3)
(fma.f64 %10 z %8)
Outputs
%4 = (*.f64 z x)
%11 = (neg.f64 z)
%12 = (*.f64 %11 x)
%18 = (approx (* (- 1 x) y) y)
%23 = (neg.f64 %18)
%25 = (-.f64 z y)
%30 = (+.f64 y y)
%35 = (-.f64 y z)
%40 = (*.f64 #s(literal 1/2 binary64) y)
%49 = (neg.f64 %40)
%51 = (neg.f64 %30)
%68 = (neg.f64 y)
%78 = (approx x #s(literal 0 binary64))
%83 = (neg.f64 %78)
%85 = (neg.f64 x)
%88 = (*.f64 %25 x)
%96 = (*.f64 %85 %30)
%97 = (*.f64 %85 %11)
%99 = (*.f64 %11 %85)
%102 = (*.f64 %85 #s(literal 1/2 binary64))
%106 = (*.f64 %85 %40)
%110 = (*.f64 %85 #s(literal 1 binary64))
%114 = (*.f64 #s(literal 1/2 binary64) %85)
%119 = (neg.f64 (+.f64 x x))
%126 = (*.f64 %85 y)
%131 = (*.f64 %30 %85)
%135 = (*.f64 %40 %85)
%169 = (+ (* (- z y) x) y)
%170 = (approx %169 %88)
%175 = (approx %169 %4)
%180 = (fma.f64 %78 z %18)
%189 = (*.f64 %78 z)
x
y
z
(*.f64 #s(literal 1 binary64) %4)
%4
(*.f64 x z)
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(neg.f64 %12)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %18)
(pow.f64 %18 #s(literal 1 binary64))
%18
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -1 binary64)))
(neg.f64 %23)
(*.f64 #s(literal 1 binary64) %25)
(pow.f64 %25 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 z #s(literal 2 binary64)) %30) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
(neg.f64 %35)
(fma.f64 (*.f64 #s(literal -1 binary64) %30) #s(literal 1/2 binary64) z)
(fma.f64 (*.f64 #s(literal -1 binary64) %40) #s(literal 2 binary64) z)
(fma.f64 (*.f64 y #s(literal -1/2 binary64)) #s(literal 2 binary64) z)
(fma.f64 (*.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64) z)
(fma.f64 %49 #s(literal 2 binary64) z)
(fma.f64 %51 #s(literal 1/2 binary64) z)
(fma.f64 %30 #s(literal -1/2 binary64) z)
(fma.f64 %40 #s(literal -2 binary64) z)
(fma.f64 #s(literal -1/2 binary64) %30 z)
(fma.f64 #s(literal -2 binary64) %40 z)
(fma.f64 #s(literal -1 binary64) y z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %30 #s(literal -1 binary64)) z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -2 binary64) y) z)
(fma.f64 #s(literal 1/2 binary64) %51 z)
(fma.f64 #s(literal 2 binary64) (*.f64 %40 #s(literal -1 binary64)) z)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) y) z)
(fma.f64 #s(literal 2 binary64) %49 z)
(fma.f64 %68 #s(literal 1 binary64) z)
(fma.f64 #s(literal 1 binary64) %68 z)
(fma.f64 y #s(literal -1 binary64) z)
(-.f64 (-.f64 z %40) %40)
(-.f64 %68 %11)
(-.f64 %25 #s(literal 0 binary64))
%25
(+.f64 %68 z)
(+.f64 z %68)
(*.f64 #s(literal 1 binary64) %78)
(pow.f64 %78 #s(literal 1 binary64))
%78
(/.f64 #s(literal 1 binary64) (pow.f64 %78 #s(literal -1 binary64)))
(neg.f64 %83)
(*.f64 %85 %35)
(*.f64 %35 %85)
%88
(*.f64 #s(literal 1 binary64) %88)
(*.f64 x %25)
(pow.f64 %88 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %88 #s(literal -1 binary64)))
(neg.f64 (*.f64 %35 x))
(fma.f64 %96 #s(literal 1/2 binary64) %97)
(fma.f64 %96 #s(literal 1/2 binary64) %99)
(fma.f64 %96 #s(literal 1/2 binary64) %4)
(fma.f64 %102 %30 %97)
(fma.f64 %102 %30 %99)
(fma.f64 %102 %30 %4)
(fma.f64 %106 #s(literal 2 binary64) %97)
(fma.f64 %106 #s(literal 2 binary64) %99)
(fma.f64 %106 #s(literal 2 binary64) %4)
(fma.f64 %110 y %97)
(fma.f64 %110 y %99)
(fma.f64 %110 y %4)
(fma.f64 %30 %114 %97)
(fma.f64 %30 %114 %99)
(fma.f64 %30 %114 %4)
(fma.f64 %40 %119 %97)
(fma.f64 %40 %119 %99)
(fma.f64 %40 %119 %4)
(fma.f64 %119 %40 %97)
(fma.f64 %119 %40 %99)
(fma.f64 %119 %40 %4)
(fma.f64 %126 #s(literal 1 binary64) %97)
(fma.f64 %126 #s(literal 1 binary64) %99)
(fma.f64 %126 #s(literal 1 binary64) %4)
(fma.f64 %11 %85 %126)
(fma.f64 #s(literal 1/2 binary64) %131 %97)
(fma.f64 #s(literal 1/2 binary64) %131 %99)
(fma.f64 #s(literal 1/2 binary64) %131 %4)
(fma.f64 #s(literal 2 binary64) %135 %97)
(fma.f64 #s(literal 2 binary64) %135 %99)
(fma.f64 #s(literal 2 binary64) %135 %4)
(fma.f64 %85 %11 %126)
(fma.f64 %85 y %97)
(fma.f64 %85 y %99)
(fma.f64 %85 y %4)
(fma.f64 %68 x %97)
(fma.f64 %68 x %99)
(fma.f64 %68 x %4)
(fma.f64 #s(literal 1 binary64) %126 %97)
(fma.f64 #s(literal 1 binary64) %126 %99)
(fma.f64 #s(literal 1 binary64) %126 %4)
(fma.f64 #s(literal 1 binary64) %4 %126)
(fma.f64 z x %126)
(fma.f64 y %85 %97)
(fma.f64 y %85 %99)
(fma.f64 y %85 %4)
(fma.f64 x %68 %97)
(fma.f64 x %68 %99)
(fma.f64 x %68 %4)
(fma.f64 x z %126)
(-.f64 %126 %12)
(-.f64 %4 (*.f64 y x))
(+.f64 %97 %126)
(+.f64 %99 %126)
(+.f64 %126 %97)
(+.f64 %126 %99)
(+.f64 %126 %4)
(+.f64 %4 %126)
(*.f64 #s(literal 1 binary64) %170)
(pow.f64 %170 #s(literal 1 binary64))
%170
(/.f64 #s(literal 1 binary64) (pow.f64 %170 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %175)
(pow.f64 %175 #s(literal 1 binary64))
%175
(/.f64 #s(literal 1 binary64) (pow.f64 %175 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %180)
(pow.f64 %180 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %180))
(fma.f64 %83 %11 %18)
(fma.f64 %11 %83 %18)
%180
(fma.f64 #s(literal 1 binary64) %189 %18)
(fma.f64 #s(literal 1 binary64) %18 %189)
(fma.f64 z %78 %18)
(-.f64 %189 %23)
(-.f64 %18 (*.f64 %83 z))
(+.f64 %189 %18)
(+.f64 %18 %189)

reconstruct26.0ms (1.3%)

Counts
183 → 49
Compiler

Compiled 183 to 285 computations (-55.7% saved)

eval8.0ms (0.4%)

Compiler

Compiled 47 to 114 computations (-142.6% saved)

prune4.0ms (0.2%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New44347
Fresh000
Picked033
Done123
Total45853
Accuracy
100.0%
Counts
53 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.6%
(fma.f64 (approx x #s(literal 0 binary64)) z (approx (* y (- 1 x)) y))
100.0%
(fma.f64 x (-.f64 z y) y)
71.4%
(fma.f64 x z (approx (* y (- 1 x)) y))
63.1%
(approx (+ (* x (- z y)) y) (fma.f64 x z (*.f64 (neg.f64 x) y)))
60.7%
(approx (+ (* x (- z y)) y) (-.f64 (*.f64 z x) (*.f64 y x)))
2.7%
(approx (+ (* x (- z y)) y) (*.f64 (approx x #s(literal 0 binary64)) z))
64.2%
(approx (+ (* x (- z y)) y) (*.f64 x (-.f64 z y)))
36.4%
(approx (+ (* x (- z y)) y) (*.f64 x z))
Compiler

Compiled 8 to 17 computations (-112.5% saved)

regimes51.0ms (2.7%)

Accuracy

Total 0.2b remaining (0.3%)

Threshold costs 0.2b (0.3%)

0.2b0.0%
0.0b0.0%
0.0b100.0%
0.0b0%

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

4 calls:

24.0ms
y
22.0ms
x
13.0ms
z
12.0ms
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
Results
AccuracySegmentsBranch
36.4%1
z
36.4%1
y
36.4%1
x
36.4%1
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z))
Compiler

Compiled 16 to 34 computations (-112.5% saved)

bsearch0.0ms (0.0%)

bsearch25.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
0.33288560671638684
880.6273106075364
11.0ms
-771.6157302664199
-0.07451076232585971
Samples
9.0ms256×0valid
Compiler

Compiled 16 to 23 computations (-43.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)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations60.0ms (3.1%)

Stop Event
fuel
Compiler

Compiled 4 to 14 computations (-250.0% saved)

preprocess15.0ms (0.8%)

Compiler

Compiled 5 to 22 computations (-340.0% saved)

end0.0ms (0.0%)

gc829ms (43.6%)

Allocations
AllocatedPercentPhase
552.9 MiB34.3%rewrite
343.2 MiB21.3%sample
268.3 MiB16.7%reconstruct
156.6 MiB9.7%series
90.1 MiB5.6%regimes
62.5 MiB3.9%preprocess
47.5 MiB3.0%derivations
41.3 MiB2.6%eval
28.5 MiB1.8%bsearch
19.1 MiB1.2%prune
0.8 MiB0.0%analyze
0.0 MiB0.0%end
0.0 MiB0.0%start
1 611.0 MiB100.0%total

Profiling

Loading profile data...