Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3

Time bar (total: 1.3s)

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)

sample240.0ms (19.1%)

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

preprocess25.0ms (2.0%)

Iterations

Useful iterations: 3 (0.0ms)

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

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series7.0ms (0.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
085338
Stop Event
iter-limit
Counts
8 → 25
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 #s(literal 1 binary64) x)
%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 = (- 1 x)
%13 = (*.f64 #s(literal -1 binary64) x)
%17 = (* %9 z)
%20 = (*.f64 #s(literal -1 binary64) (*.f64 x z))
%23 = (+ %5 %17)
%26 = (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z)))
%30 = (/.f64 #s(literal 1 binary64) x)
%35 = (/.f64 z x)
%36 = (fma.f64 #s(literal -1 binary64) z %35)
%47 = (*.f64 #s(literal -1 binary64) %35)
%63 = (-.f64 #s(literal 1 binary64) x)
%64 = (*.f64 z %63)
%68 = (/.f64 %64 y)
%77 = (/.f64 %6 z)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 #s(literal 1 binary64))
(approx %9 (+.f64 #s(literal 1 binary64) %13))
(approx %17 z)
(approx %17 (+.f64 z %20))
(approx %23 (+.f64 z %26))
(approx %9 %13)
(approx %9 (*.f64 x (-.f64 %30 #s(literal 1 binary64))))
(approx %17 %20)
(approx %17 (*.f64 x %36))
(approx %23 %26)
(approx %23 (*.f64 x (+.f64 y %36)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %30))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z %47))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %47)))))
(approx y y)
(approx %23 %64)
(approx %23 (fma.f64 x y %64))
(approx %23 (*.f64 y (+.f64 x %68)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %68)))))
(approx %23 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %77) x)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %63 (*.f64 #s(literal -1 binary64) %77)))))
Calls

9 calls:

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

rewrite104.0ms (8.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
01224
13824
29524
330423
4170723
0427523
0439722
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 428
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 #s(literal 1 binary64) x)
%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)
%17 = (-.f64 #s(literal 1 binary64) x)
%18 = (*.f64 #s(literal 2 binary64) %17)
%20 = (/.f64 %18 #s(literal 8 binary64))
%23 = (/.f64 %18 #s(literal 4 binary64))
%33 = (/.f64 %18 #s(literal 1/2 binary64))
%36 = (/.f64 %18 #s(literal 1 binary64))
%39 = (-.f64 #s(literal 1/2 binary64) x)
%40 = (fma.f64 %39 #s(literal 2 binary64) #s(literal 1 binary64))
%44 = (fma.f64 %3 #s(literal -2 binary64) #s(literal -2 binary64))
%47 = (fma.f64 %3 #s(literal 1 binary64) #s(literal 1 binary64))
%51 = (-.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal 2 binary64))
%54 = (fma.f64 %18 #s(literal 2 binary64) #s(literal 0 binary64))
%57 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%58 = (neg.f64 %57)
%61 = (neg.f64 %18)
%82 = (-.f64 x #s(literal 1 binary64))
%85 = (+.f64 x x)
%86 = (-.f64 %85 #s(literal 1 binary64))
%98 = (-.f64 x #s(literal 1/2 binary64))
%213 = (*.f64 %3 #s(literal 1 binary64))
%230 = (/.f64 %85 #s(literal -2 binary64))
%233 = (/.f64 %39 #s(literal 1 binary64))
%235 = (/.f64 %3 #s(literal 1 binary64))
%239 = (+.f64 #s(literal 0 binary64) %39)
%252 = (*.f64 %17 #s(literal 1/2 binary64))
%253 = (+.f64 z z)
%255 = (*.f64 %17 #s(literal 1 binary64))
%257 = (*.f64 %17 %253)
%259 = (*.f64 #s(literal 1/2 binary64) z)
%260 = (*.f64 %17 %259)
%262 = (*.f64 #s(literal 1/2 binary64) %17)
%266 = (neg.f64 z)
%268 = (*.f64 %253 %17)
%270 = (*.f64 %259 %17)
%273 = (*.f64 z %17)
%298 = (*.f64 %266 x)
%299 = (fma.f64 %298 #s(literal 2 binary64) %253)
%302 = (*.f64 %3 %253)
%305 = (*.f64 %253 %3)
%308 = (*.f64 #s(literal -1 binary64) %253)
%313 = (*.f64 %266 #s(literal 2 binary64))
%318 = (*.f64 #s(literal 2 binary64) %266)
%323 = (*.f64 %253 #s(literal -1 binary64))
%328 = (*.f64 #s(literal -2 binary64) z)
%333 = (*.f64 z #s(literal -2 binary64))
%338 = (neg.f64 %253)
%343 = (*.f64 x %253)
%346 = (*.f64 %253 x)
%349 = (*.f64 %266 %57)
%352 = (*.f64 z %18)
%357 = (*.f64 %57 %266)
%362 = (*.f64 %18 z)
%367 = (*.f64 %253 %18)
%370 = (*.f64 %18 %253)
%384 = (*.f64 %82 z)
%386 = (*.f64 %17 #s(literal 0 binary64))
%388 = (*.f64 #s(literal 0 binary64) %17)
%394 = (*.f64 #s(literal -1 binary64) %266)
%396 = (*.f64 %266 #s(literal -1 binary64))
%402 = (*.f64 %3 #s(literal 1/2 binary64))
%406 = (*.f64 %3 %259)
%413 = (*.f64 #s(literal 1/2 binary64) %259)
%414 = (fma.f64 #s(literal 1/2 binary64) z %298)
%416 = (*.f64 z x)
%417 = (-.f64 %259 %416)
%419 = (*.f64 z %39)
%421 = (*.f64 %39 z)
%434 = (*.f64 #s(literal 1/2 binary64) %3)
%445 = (neg.f64 %85)
%481 = (*.f64 %259 #s(literal 1/2 binary64))
%486 = (*.f64 %259 %3)
%558 = (-.f64 z y)
%559 = (fma.f64 %3 %558 z)
%562 = (fma.f64 %7 #s(literal 2 binary64) %253)
%581 = (-.f64 z %14)
%583 = (fma.f64 y x z)
%591 = (*.f64 %3 %558)
%592 = (fma.f64 #s(literal 1/2 binary64) z %591)
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 %23 #s(literal 2 binary64))
(*.f64 %18 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %17)
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %3 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %33) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %36) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %40) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %47) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %51) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %54) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %58) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %61) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %18) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %57) #s(literal -2 binary64))
(/.f64 (+.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %61 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %82 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) %86) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %57 #s(literal 1/2 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %57 #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 %98 #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %82 #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 %57 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %58) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %61) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %18) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %57) #s(literal 2 binary64))
(/.f64 (-.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %18 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %61 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (neg.f64 %33) #s(literal -4 binary64))
(/.f64 (neg.f64 %36) #s(literal -2 binary64))
(/.f64 (neg.f64 %40) #s(literal -2 binary64))
(/.f64 (neg.f64 %44) #s(literal 2 binary64))
(/.f64 (neg.f64 %47) #s(literal -1 binary64))
(/.f64 (neg.f64 %51) #s(literal 2 binary64))
(/.f64 (neg.f64 %54) #s(literal -4 binary64))
(/.f64 (neg.f64 %58) #s(literal -2 binary64))
(/.f64 (neg.f64 %61) #s(literal 2 binary64))
(/.f64 %33 #s(literal 4 binary64))
(/.f64 %36 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %85) #s(literal 2 binary64))
(/.f64 %40 #s(literal 2 binary64))
(/.f64 %44 #s(literal -2 binary64))
(/.f64 %47 #s(literal 1 binary64))
(/.f64 %51 #s(literal -2 binary64))
(/.f64 %54 #s(literal 4 binary64))
(/.f64 %58 #s(literal 2 binary64))
(/.f64 %61 #s(literal -2 binary64))
(/.f64 %18 #s(literal 2 binary64))
(/.f64 %57 #s(literal -2 binary64))
(/.f64 %82 #s(literal -1 binary64))
(/.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(neg.f64 %82)
(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) %39 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %3 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %17 #s(literal 0 binary64))
(-.f64 (+.f64 %17 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %39 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %3))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1/2 binary64) %98)
(-.f64 %3 #s(literal -1 binary64))
(-.f64 #s(literal 0 binary64) %82)
(-.f64 %17 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %3))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) x))
(-.f64 #s(literal 1 binary64) (-.f64 x #s(literal 0 binary64)))
%17
(+.f64 (/.f64 (*.f64 %39 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 %213 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 %18 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %3 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %3 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(+.f64 (/.f64 %86 #s(literal -2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 %230 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %233 #s(literal 1/2 binary64))
(+.f64 %235 #s(literal 1 binary64))
(+.f64 %230 #s(literal 1 binary64))
(+.f64 %39 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 %239 #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) %233)
(+.f64 #s(literal 1/2 binary64) %239)
(+.f64 #s(literal 1/2 binary64) %39)
(+.f64 %3 #s(literal 1 binary64))
(+.f64 #s(literal 0 binary64) %17)
(+.f64 %17 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %235)
(+.f64 #s(literal 1 binary64) %230)
(+.f64 #s(literal 1 binary64) %3)
z
(*.f64 %252 %253)
(*.f64 %255 z)
(*.f64 %257 #s(literal 1/2 binary64))
(*.f64 %260 #s(literal 2 binary64))
(*.f64 %253 %262)
(*.f64 %259 %18)
(*.f64 %18 %259)
(*.f64 %266 %82)
(*.f64 #s(literal 1/2 binary64) %268)
(*.f64 #s(literal 2 binary64) %270)
(*.f64 %82 %266)
(*.f64 %273 #s(literal 1 binary64))
%273
(*.f64 %17 z)
(*.f64 #s(literal 1 binary64) %273)
(pow.f64 %273 #s(literal 1 binary64))
(/.f64 (fma.f64 %3 %253 %253) #s(literal 2 binary64))
(/.f64 (fma.f64 %253 %3 %253) #s(literal 2 binary64))
(/.f64 (fma.f64 %253 %18 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %18 %253 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %266 %57 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 z %18 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %17 %253 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %57 %266 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %253 %17 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %18 z #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %299 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %302) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %305) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %308) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %308) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %313) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %313) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %318) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %318) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %323) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %323) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %328) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %328) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %333) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %333) #s(literal 2 binary64))
(/.f64 (-.f64 %302 %338) #s(literal 2 binary64))
(/.f64 (-.f64 %305 %338) #s(literal 2 binary64))
(/.f64 (-.f64 %253 %343) #s(literal 2 binary64))
(/.f64 (-.f64 %253 %346) #s(literal 2 binary64))
(/.f64 (neg.f64 %349) #s(literal -2 binary64))
(/.f64 (neg.f64 %352) #s(literal -2 binary64))
(/.f64 (neg.f64 %257) #s(literal -2 binary64))
(/.f64 (neg.f64 %357) #s(literal -2 binary64))
(/.f64 (neg.f64 %268) #s(literal -2 binary64))
(/.f64 (neg.f64 %362) #s(literal -2 binary64))
(/.f64 (neg.f64 %299) #s(literal -2 binary64))
(/.f64 (neg.f64 %367) #s(literal -4 binary64))
(/.f64 (neg.f64 %370) #s(literal -4 binary64))
(/.f64 %349 #s(literal 2 binary64))
(/.f64 %352 #s(literal 2 binary64))
(/.f64 %257 #s(literal 2 binary64))
(/.f64 %357 #s(literal 2 binary64))
(/.f64 %268 #s(literal 2 binary64))
(/.f64 %362 #s(literal 2 binary64))
(/.f64 %299 #s(literal 2 binary64))
(/.f64 %367 #s(literal 4 binary64))
(/.f64 %370 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %273 #s(literal -1 binary64)))
(neg.f64 %384)
(fma.f64 %252 %253 %386)
(fma.f64 %252 %253 %388)
(fma.f64 %252 %253 #s(literal 0 binary64))
(fma.f64 %255 z %386)
(fma.f64 %255 z %388)
(fma.f64 %255 z #s(literal 0 binary64))
(fma.f64 %302 #s(literal 1/2 binary64) %394)
(fma.f64 %302 #s(literal 1/2 binary64) %396)
(fma.f64 %302 #s(literal 1/2 binary64) z)
(fma.f64 %257 #s(literal 1/2 binary64) %386)
(fma.f64 %257 #s(literal 1/2 binary64) %388)
(fma.f64 %257 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %402 %253 %394)
(fma.f64 %402 %253 %396)
(fma.f64 %402 %253 z)
(fma.f64 %406 #s(literal 2 binary64) %394)
(fma.f64 %406 #s(literal 2 binary64) %396)
(fma.f64 %406 #s(literal 2 binary64) z)
(fma.f64 %260 #s(literal 2 binary64) %386)
(fma.f64 %260 #s(literal 2 binary64) %388)
(fma.f64 %260 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %413 #s(literal 2 binary64) %414)
(fma.f64 %413 #s(literal 2 binary64) %417)
(fma.f64 %413 #s(literal 2 binary64) %419)
(fma.f64 %413 #s(literal 2 binary64) %421)
(fma.f64 %213 z %394)
(fma.f64 %213 z %396)
(fma.f64 %213 z z)
(fma.f64 #s(literal 1/4 binary64) %253 %414)
(fma.f64 #s(literal 1/4 binary64) %253 %417)
(fma.f64 #s(literal 1/4 binary64) %253 %419)
(fma.f64 #s(literal 1/4 binary64) %253 %421)
(fma.f64 %39 z %259)
(fma.f64 %253 %262 %386)
(fma.f64 %253 %262 %388)
(fma.f64 %253 %262 #s(literal 0 binary64))
(fma.f64 %253 %434 %394)
(fma.f64 %253 %434 %396)
(fma.f64 %253 %434 z)
(fma.f64 %253 #s(literal 1/4 binary64) %414)
(fma.f64 %253 #s(literal 1/4 binary64) %417)
(fma.f64 %253 #s(literal 1/4 binary64) %419)
(fma.f64 %253 #s(literal 1/4 binary64) %421)
(fma.f64 %259 %18 %386)
(fma.f64 %259 %18 %388)
(fma.f64 %259 %18 #s(literal 0 binary64))
(fma.f64 %259 %445 %394)
(fma.f64 %259 %445 %396)
(fma.f64 %259 %445 z)
(fma.f64 %259 %17 %270)
(fma.f64 %259 #s(literal 1 binary64) %414)
(fma.f64 %259 #s(literal 1 binary64) %417)
(fma.f64 %259 #s(literal 1 binary64) %419)
(fma.f64 %259 #s(literal 1 binary64) %421)
(fma.f64 %18 %259 %386)
(fma.f64 %18 %259 %388)
(fma.f64 %18 %259 #s(literal 0 binary64))
(fma.f64 %445 %259 %394)
(fma.f64 %445 %259 %396)
(fma.f64 %445 %259 z)
(fma.f64 %298 #s(literal 1 binary64) %394)
(fma.f64 %298 #s(literal 1 binary64) %396)
(fma.f64 %298 #s(literal 1 binary64) z)
(fma.f64 %266 #s(literal -1 binary64) %298)
(fma.f64 %266 %82 %386)
(fma.f64 %266 %82 %388)
(fma.f64 %266 %82 #s(literal 0 binary64))
(fma.f64 %266 x %394)
(fma.f64 %266 x %396)
(fma.f64 %266 x z)
(fma.f64 #s(literal -1 binary64) %266 %298)
(fma.f64 #s(literal 1/2 binary64) %305 %394)
(fma.f64 #s(literal 1/2 binary64) %305 %396)
(fma.f64 #s(literal 1/2 binary64) %305 z)
(fma.f64 #s(literal 1/2 binary64) %268 %386)
(fma.f64 #s(literal 1/2 binary64) %268 %388)
(fma.f64 #s(literal 1/2 binary64) %268 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) z %414)
(fma.f64 #s(literal 1/2 binary64) z %417)
(fma.f64 #s(literal 1/2 binary64) z %419)
(fma.f64 #s(literal 1/2 binary64) z %421)
(fma.f64 #s(literal 2 binary64) %481 %414)
(fma.f64 #s(literal 2 binary64) %481 %417)
(fma.f64 #s(literal 2 binary64) %481 %419)
(fma.f64 #s(literal 2 binary64) %481 %421)
(fma.f64 #s(literal 2 binary64) %486 %394)
(fma.f64 #s(literal 2 binary64) %486 %396)
(fma.f64 #s(literal 2 binary64) %486 z)
(fma.f64 #s(literal 2 binary64) %270 %386)
(fma.f64 #s(literal 2 binary64) %270 %388)
(fma.f64 #s(literal 2 binary64) %270 #s(literal 0 binary64))
(fma.f64 %3 z %394)
(fma.f64 %3 z %396)
(fma.f64 %3 z z)
(fma.f64 %82 %266 %386)
(fma.f64 %82 %266 %388)
(fma.f64 %82 %266 #s(literal 0 binary64))
(fma.f64 %273 #s(literal 1 binary64) %386)
(fma.f64 %273 #s(literal 1 binary64) %388)
(fma.f64 %273 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 z %39 %259)
(fma.f64 z #s(literal 1/2 binary64) %414)
(fma.f64 z #s(literal 1/2 binary64) %417)
(fma.f64 z #s(literal 1/2 binary64) %419)
(fma.f64 z #s(literal 1/2 binary64) %421)
(fma.f64 z %3 %394)
(fma.f64 z %3 %396)
(fma.f64 z %3 z)
(fma.f64 z %17 %386)
(fma.f64 z %17 %388)
(fma.f64 z %17 #s(literal 0 binary64))
(fma.f64 %17 %259 %260)
(fma.f64 %17 z %386)
(fma.f64 %17 z %388)
(fma.f64 %17 z #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %259 %414)
(fma.f64 #s(literal 1 binary64) %259 %417)
(fma.f64 #s(literal 1 binary64) %259 %419)
(fma.f64 #s(literal 1 binary64) %259 %421)
(fma.f64 #s(literal 1 binary64) %298 %394)
(fma.f64 #s(literal 1 binary64) %298 %396)
(fma.f64 #s(literal 1 binary64) %298 z)
(fma.f64 #s(literal 1 binary64) %273 %386)
(fma.f64 #s(literal 1 binary64) %273 %388)
(fma.f64 #s(literal 1 binary64) %273 #s(literal 0 binary64))
(fma.f64 x %266 %394)
(fma.f64 x %266 %396)
(fma.f64 x %266 z)
(-.f64 %298 %266)
(-.f64 z %416)
(+.f64 (/.f64 (*.f64 %298 #s(literal 2 binary64)) #s(literal 2 binary64)) z)
(+.f64 (fma.f64 %266 x %259) %259)
(+.f64 %419 %259)
(+.f64 %260 %260)
(+.f64 %421 %259)
(+.f64 %270 %270)
(+.f64 %394 %298)
(+.f64 %396 %298)
(+.f64 %259 %414)
(+.f64 %259 %417)
(+.f64 %259 %419)
(+.f64 %259 %421)
(+.f64 %298 %394)
(+.f64 %298 %396)
(+.f64 %298 z)
(+.f64 %273 %386)
(+.f64 %273 %388)
(+.f64 %273 #s(literal 0 binary64))
(+.f64 z (+.f64 #s(literal 0 binary64) %298))
(+.f64 z (-.f64 #s(literal 0 binary64) %416))
(+.f64 z %298)
(*.f64 #s(literal 1 binary64) %559)
(pow.f64 %559 #s(literal 1 binary64))
(/.f64 (+.f64 %562 %302) #s(literal 2 binary64))
(/.f64 (+.f64 %562 %305) #s(literal 2 binary64))
(/.f64 (fma.f64 %3 %253 %562) #s(literal 2 binary64))
(/.f64 (fma.f64 %253 %3 %562) #s(literal 2 binary64))
(/.f64 (-.f64 %562 %343) #s(literal 2 binary64))
(/.f64 (-.f64 %562 %346) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %559 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %559))
(fma.f64 %252 %253 %7)
(fma.f64 %255 z %7)
(fma.f64 %302 #s(literal 1/2 binary64) %581)
(fma.f64 %302 #s(literal 1/2 binary64) %583)
(fma.f64 %257 #s(literal 1/2 binary64) %7)
(fma.f64 %402 %253 %581)
(fma.f64 %402 %253 %583)
(fma.f64 %406 #s(literal 2 binary64) %581)
(fma.f64 %406 #s(literal 2 binary64) %583)
(fma.f64 %260 #s(literal 2 binary64) %7)
(fma.f64 %413 #s(literal 2 binary64) %592)
(fma.f64 %213 z %581)
(fma.f64 %213 z %583)
(fma.f64 #s(literal 1/4 binary64) %253 %592)
(fma.f64 %253 %262 %7)
(fma.f64 %253 %434 %581)
(fma.f64 %253 %434 %583)
(fma.f64 %253 #s(literal 1/4 binary64) %592)
(fma.f64 %259 %18 %7)
(fma.f64 %259 %445 %581)
(fma.f64 %259 %445 %583)
(fma.f64 %259 #s(literal 1 binary64) %592)
(fma.f64 %18 %259 %7)
(fma.f64 %445 %259 %581)
(fma.f64 %445 %259 %583)
(fma.f64 %298 #s(literal 1 binary64) %581)
(fma.f64 %298 #s(literal 1 binary64) %583)
(fma.f64 %2 %3 %273)
(fma.f64 %266 %82 %7)
(fma.f64 %266 x %581)
(fma.f64 %266 x %583)
(fma.f64 #s(literal 1/2 binary64) %305 %581)
(fma.f64 #s(literal 1/2 binary64) %305 %583)
(fma.f64 #s(literal 1/2 binary64) %268 %7)
(fma.f64 #s(literal 1/2 binary64) z %592)
(fma.f64 #s(literal 2 binary64) %481 %592)
(fma.f64 #s(literal 2 binary64) %486 %581)
(fma.f64 #s(literal 2 binary64) %486 %583)
(fma.f64 #s(literal 2 binary64) %270 %7)
%559
(fma.f64 %3 %2 %273)
(fma.f64 %3 z %581)
(fma.f64 %3 z %583)
(fma.f64 %82 %266 %7)
(fma.f64 %273 #s(literal 1 binary64) %7)
(fma.f64 z #s(literal 1/2 binary64) %592)
(fma.f64 z %3 %581)
(fma.f64 z %3 %583)
(fma.f64 z %17 %7)
(fma.f64 %17 z %7)
(fma.f64 #s(literal 1 binary64) %583 %298)
(fma.f64 #s(literal 1 binary64) %591 z)
(fma.f64 #s(literal 1 binary64) %259 %592)
(fma.f64 #s(literal 1 binary64) %298 %581)
(fma.f64 #s(literal 1 binary64) %298 %583)
(fma.f64 #s(literal 1 binary64) %273 %7)
(fma.f64 #s(literal 1 binary64) %7 %273)
(fma.f64 y x %273)
(fma.f64 x %266 %581)
(fma.f64 x %266 %583)
(fma.f64 x y %273)
(-.f64 (-.f64 %7 %416) %266)
(-.f64 %583 %416)
(-.f64 %273 %14)
(-.f64 z (-.f64 %416 %7))
(-.f64 z (fma.f64 z x %14))
(-.f64 z (neg.f64 %591))
(-.f64 %7 %384)
(+.f64 %583 %298)
(+.f64 %591 z)
(+.f64 %259 %592)
(+.f64 %298 %581)
(+.f64 %298 %583)
(+.f64 %273 %7)
(+.f64 z (+.f64 #s(literal 0 binary64) %591))
(+.f64 z %591)
(+.f64 %7 %273)

reconstruct38.0ms (3.0%)

Counts
453 → 43
Compiler

Compiled 453 to 711 computations (-57.0% saved)

eval4.0ms (0.3%)

Compiler

Compiled 39 to 121 computations (-210.3% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

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

Compiled 4 to 13 computations (-225.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series17.0ms (1.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0155640
Stop Event
iter-limit
Counts
15 → 44
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 #s(literal 1 binary64) x)
%8 = (* (- 1 x) z)
%9 = (approx %8 z)
%10 = (*.f64 z %4)
%14 = (neg.f64 x)
%15 = (*.f64 y x)
%16 = (-.f64 z y)
x
y
%2
#s(literal 1 binary64)
%4
z
%9
%10
(approx (+ (* x y) %8) %10)
%14
%15
%16
(fma.f64 %14 %16 z)
(fma.f64 z %4 %15)
(+.f64 %2 %9)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (- 1 x)
%13 = (*.f64 #s(literal -1 binary64) x)
%14 = (+.f64 #s(literal 1 binary64) %13)
%17 = (* %9 z)
%19 = (*.f64 x z)
%20 = (*.f64 #s(literal -1 binary64) %19)
%21 = (+.f64 z %20)
%23 = (+ %5 %17)
%26 = (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z)))
%29 = (neg x)
%31 = (- z y)
%33 = (+ (* %29 %31) z)
%34 = (-.f64 z y)
%36 = (*.f64 #s(literal -1 binary64) (*.f64 x %34))
%39 = (/.f64 #s(literal 1 binary64) x)
%44 = (/.f64 z x)
%45 = (fma.f64 #s(literal -1 binary64) z %44)
%60 = (*.f64 #s(literal -1 binary64) %44)
%61 = (+.f64 z %60)
%65 = (*.f64 #s(literal -1 binary64) y)
%66 = (+.f64 z %65)
%80 = (-.f64 #s(literal 1 binary64) x)
%81 = (*.f64 z %80)
%89 = (/.f64 %81 y)
%94 = (/.f64 z y)
%120 = (*.f64 z %14)
%123 = (/.f64 %6 z)
%128 = (/.f64 y z)
%138 = (*.f64 #s(literal -1 binary64) %123)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 #s(literal 1 binary64))
(approx %9 %14)
(approx %17 z)
(approx %17 %21)
(approx %23 (+.f64 z %26))
(approx %29 %13)
(approx %33 (+.f64 z %36))
(approx %9 (*.f64 x (-.f64 %39 #s(literal 1 binary64))))
(approx %17 %20)
(approx %17 (*.f64 x %45))
(approx %23 %26)
(approx %23 (*.f64 x (+.f64 y %45)))
(approx %33 %36)
(approx %33 (*.f64 x (fma.f64 #s(literal -1 binary64) %34 %44)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %39))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x %61)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x %66)))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %60)))))
(approx %33 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 y))))
(approx y y)
(approx %23 %81)
(approx %23 (fma.f64 x y %81))
(approx %31 %66)
(approx %33 (+.f64 z (fma.f64 #s(literal -1 binary64) %19 %6)))
(approx %23 (*.f64 y (+.f64 x %89)))
(approx %31 %65)
(approx %31 (*.f64 y (-.f64 %94 #s(literal 1 binary64))))
(approx %33 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %19 y) %94))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %89)))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %94)))))
(approx %33 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %21 y))))))
(approx %31 %34)
(approx %33 (fma.f64 x y %120))
(approx %23 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %123) x)))
(approx %31 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %128))))
(approx %33 %120)
(approx %33 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %123))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %80 %138))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %128 #s(literal 1 binary64)))))
(approx %33 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64)))))
(approx %33 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 x %138) #s(literal 1 binary64)))))
Calls

9 calls:

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

rewrite105.0ms (8.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01971
03069
18569
219268
352368
4202868
0432168
0448364
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
15 → 627
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 #s(literal 1 binary64) x)
%8 = (* (- 1 x) z)
%9 = (approx %8 z)
%10 = (*.f64 z %4)
%14 = (neg.f64 x)
%15 = (*.f64 y x)
%16 = (-.f64 z y)
x
y
%2
#s(literal 1 binary64)
%4
z
%9
%10
(approx (+ (* x y) %8) %10)
%14
%15
%16
(fma.f64 %14 %16 z)
(fma.f64 z %4 %15)
(+.f64 %2 %9)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%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 %2 x)
%15 = (neg.f64 %14)
%17 = (-.f64 #s(literal 1 binary64) x)
%18 = (*.f64 #s(literal 2 binary64) %17)
%20 = (/.f64 %18 #s(literal 8 binary64))
%23 = (/.f64 %18 #s(literal 4 binary64))
%33 = (/.f64 %18 #s(literal 1/2 binary64))
%36 = (/.f64 %18 #s(literal 1 binary64))
%39 = (-.f64 #s(literal 1/2 binary64) x)
%40 = (fma.f64 %39 #s(literal 2 binary64) #s(literal 1 binary64))
%44 = (fma.f64 %3 #s(literal -2 binary64) #s(literal -2 binary64))
%47 = (fma.f64 %3 #s(literal 1 binary64) #s(literal 1 binary64))
%51 = (-.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal 2 binary64))
%54 = (fma.f64 %18 #s(literal 2 binary64) #s(literal 0 binary64))
%57 = (neg.f64 %18)
%60 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64))
%61 = (neg.f64 %60)
%86 = (-.f64 x #s(literal 1 binary64))
%89 = (+.f64 x x)
%102 = (-.f64 x #s(literal 1/2 binary64))
%208 = (-.f64 #s(literal 0 binary64) %3)
%210 = (+.f64 #s(literal 0 binary64) x)
%212 = (-.f64 x #s(literal 0 binary64))
%228 = (approx (* z (- 1 x)) z)
%233 = (neg.f64 %228)
%235 = (*.f64 %17 #s(literal 1/2 binary64))
%236 = (+.f64 z z)
%238 = (*.f64 %17 #s(literal 1 binary64))
%240 = (*.f64 %17 %236)
%242 = (*.f64 #s(literal 1/2 binary64) z)
%243 = (*.f64 %17 %242)
%245 = (*.f64 #s(literal 1/2 binary64) %17)
%249 = (*.f64 %236 %17)
%251 = (*.f64 %242 %17)
%253 = (neg.f64 z)
%256 = (*.f64 z %17)
%281 = (*.f64 %253 x)
%282 = (fma.f64 %281 #s(literal 2 binary64) %236)
%285 = (*.f64 %3 %236)
%288 = (*.f64 %236 %3)
%291 = (*.f64 #s(literal -1 binary64) %236)
%296 = (*.f64 %236 #s(literal -1 binary64))
%301 = (*.f64 #s(literal -2 binary64) z)
%306 = (*.f64 %253 #s(literal 2 binary64))
%311 = (*.f64 #s(literal 2 binary64) %253)
%316 = (*.f64 z #s(literal -2 binary64))
%321 = (neg.f64 %236)
%326 = (*.f64 x %236)
%329 = (*.f64 %236 x)
%332 = (*.f64 %253 %60)
%335 = (*.f64 z %18)
%340 = (*.f64 %60 %253)
%345 = (*.f64 %18 z)
%350 = (*.f64 %236 %18)
%353 = (*.f64 %18 %236)
%367 = (*.f64 %86 z)
%369 = (*.f64 %17 #s(literal 0 binary64))
%371 = (*.f64 #s(literal 0 binary64) %17)
%380 = (*.f64 #s(literal -1 binary64) %253)
%382 = (*.f64 %253 #s(literal -1 binary64))
%388 = (*.f64 %3 %242)
%392 = (*.f64 %3 #s(literal 1/2 binary64))
%396 = (*.f64 #s(literal 1/2 binary64) %242)
%397 = (fma.f64 #s(literal 1/2 binary64) z %281)
%399 = (*.f64 z x)
%400 = (-.f64 %242 %399)
%402 = (*.f64 z %39)
%404 = (*.f64 %39 z)
%406 = (*.f64 %3 #s(literal 1 binary64))
%419 = (*.f64 #s(literal 1/2 binary64) %3)
%430 = (neg.f64 %89)
%459 = (*.f64 %242 #s(literal 1/2 binary64))
%467 = (*.f64 %242 %3)
%543 = (approx (- z (* (- z y) x)) %256)
%564 = (-.f64 z y)
%567 = (fma.f64 %2 #s(literal 2 binary64) %236)
%575 = (-.f64 y z)
%577 = (fma.f64 #s(literal 1/2 binary64) z %2)
%579 = (-.f64 %242 y)
%609 = (fma.f64 %575 x z)
%610 = (*.f64 #s(literal 1 binary64) %609)
%611 = (pow.f64 %609 #s(literal 1 binary64))
%612 = (fma.f64 %7 #s(literal 2 binary64) %236)
%614 = (/.f64 (+.f64 %612 %285) #s(literal 2 binary64))
%616 = (/.f64 (+.f64 %612 %288) #s(literal 2 binary64))
%618 = (/.f64 (fma.f64 %3 %236 %612) #s(literal 2 binary64))
%620 = (/.f64 (fma.f64 %236 %3 %612) #s(literal 2 binary64))
%621 = (*.f64 %575 x)
%622 = (fma.f64 %621 #s(literal 2 binary64) %236)
%624 = (/.f64 (+.f64 %622 #s(literal 0 binary64)) #s(literal 2 binary64))
%626 = (/.f64 (-.f64 %612 %326) #s(literal 2 binary64))
%628 = (/.f64 (-.f64 %612 %329) #s(literal 2 binary64))
%630 = (-.f64 (*.f64 %14 #s(literal 2 binary64)) %236)
%632 = (/.f64 (-.f64 %285 %630) #s(literal 2 binary64))
%634 = (/.f64 (-.f64 %288 %630) #s(literal 2 binary64))
%636 = (/.f64 (neg.f64 %622) #s(literal -2 binary64))
%637 = (/.f64 %622 #s(literal 2 binary64))
%639 = (/.f64 #s(literal 1 binary64) (pow.f64 %609 #s(literal -1 binary64)))
%640 = (*.f64 %564 x)
%642 = (neg.f64 (-.f64 %640 z))
%643 = (fma.f64 %235 %236 %7)
%644 = (fma.f64 %238 z %7)
%645 = (fma.f64 %240 #s(literal 1/2 binary64) %7)
%646 = (-.f64 z %14)
%647 = (fma.f64 %285 #s(literal 1/2 binary64) %646)
%648 = (fma.f64 y x z)
%649 = (fma.f64 %285 #s(literal 1/2 binary64) %648)
%650 = (fma.f64 %243 #s(literal 2 binary64) %7)
%651 = (fma.f64 %388 #s(literal 2 binary64) %646)
%652 = (fma.f64 %388 #s(literal 2 binary64) %648)
%653 = (fma.f64 %392 %236 %646)
%654 = (fma.f64 %392 %236 %648)
%655 = (fma.f64 #s(literal 1/2 binary64) z %621)
%656 = (fma.f64 %396 #s(literal 2 binary64) %655)
%657 = (-.f64 %242 %640)
%658 = (fma.f64 %396 #s(literal 2 binary64) %657)
%659 = (fma.f64 %406 z %646)
%660 = (fma.f64 %406 z %648)
%661 = (fma.f64 #s(literal 1/4 binary64) %236 %655)
%662 = (fma.f64 #s(literal 1/4 binary64) %236 %657)
%663 = (fma.f64 %236 %245 %7)
%664 = (fma.f64 %236 %419 %646)
%665 = (fma.f64 %236 %419 %648)
%666 = (fma.f64 %236 #s(literal 1/4 binary64) %655)
%667 = (fma.f64 %236 #s(literal 1/4 binary64) %657)
%668 = (fma.f64 %242 %18 %7)
%669 = (fma.f64 %242 %430 %646)
%670 = (fma.f64 %242 %430 %648)
%671 = (fma.f64 %242 #s(literal 1 binary64) %655)
%672 = (fma.f64 %242 #s(literal 1 binary64) %657)
%673 = (fma.f64 %18 %242 %7)
%674 = (fma.f64 %430 %242 %646)
%675 = (fma.f64 %430 %242 %648)
%676 = (fma.f64 %281 #s(literal 1 binary64) %646)
%677 = (fma.f64 %281 #s(literal 1 binary64) %648)
%678 = (fma.f64 #s(literal 1/2 binary64) %249 %7)
%679 = (fma.f64 #s(literal 1/2 binary64) %288 %646)
%680 = (fma.f64 #s(literal 1/2 binary64) %288 %648)
%681 = (fma.f64 #s(literal 1/2 binary64) z %655)
%682 = (fma.f64 #s(literal 1/2 binary64) z %657)
%683 = (fma.f64 #s(literal 2 binary64) %459 %655)
%684 = (fma.f64 #s(literal 2 binary64) %459 %657)
%685 = (fma.f64 #s(literal 2 binary64) %251 %7)
%686 = (fma.f64 #s(literal 2 binary64) %467 %646)
%687 = (fma.f64 #s(literal 2 binary64) %467 %648)
%688 = (fma.f64 %2 %3 %256)
%689 = (fma.f64 %86 %253 %7)
%690 = (fma.f64 %253 %86 %7)
%691 = (fma.f64 %253 x %646)
%692 = (fma.f64 %253 x %648)
%693 = (fma.f64 %564 %3 z)
%694 = (fma.f64 %3 %2 %256)
%695 = (fma.f64 %3 %564 z)
%696 = (fma.f64 %3 z %646)
%697 = (fma.f64 %3 z %648)
%698 = (fma.f64 %256 #s(literal 1 binary64) %7)
%699 = (fma.f64 z #s(literal 1/2 binary64) %655)
%700 = (fma.f64 z #s(literal 1/2 binary64) %657)
%701 = (fma.f64 z %3 %646)
%702 = (fma.f64 z %3 %648)
%703 = (fma.f64 z %17 %7)
%704 = (fma.f64 %17 z %7)
%705 = (fma.f64 #s(literal 1 binary64) %648 %281)
%706 = (fma.f64 #s(literal 1 binary64) %242 %655)
%707 = (fma.f64 #s(literal 1 binary64) %242 %657)
%708 = (fma.f64 #s(literal 1 binary64) %281 %646)
%709 = (fma.f64 #s(literal 1 binary64) %281 %648)
%710 = (fma.f64 #s(literal 1 binary64) %7 %256)
%711 = (fma.f64 #s(literal 1 binary64) %621 z)
%712 = (fma.f64 #s(literal 1 binary64) %609 #s(literal 0 binary64))
%713 = (fma.f64 #s(literal 1 binary64) %256 %7)
%714 = (fma.f64 y x %256)
%715 = (fma.f64 x %575 z)
%716 = (fma.f64 x %253 %646)
%717 = (fma.f64 x %253 %648)
%718 = (fma.f64 x y %256)
%719 = (-.f64 %646 %399)
%720 = (-.f64 %648 %399)
%722 = (-.f64 %281 (neg.f64 %648))
%724 = (-.f64 %281 (-.f64 %14 z))
%725 = (-.f64 %7 %367)
%726 = (-.f64 %621 %253)
%727 = (-.f64 %256 %14)
%728 = (-.f64 z %640)
%730 = (+.f64 (fma.f64 %575 x %242) %242)
%731 = (+.f64 %648 %281)
%732 = (+.f64 %242 %655)
%733 = (+.f64 %242 %657)
%734 = (+.f64 %281 %646)
%735 = (+.f64 %281 %648)
%736 = (+.f64 %7 %256)
%737 = (+.f64 %621 z)
%738 = (+.f64 %609 #s(literal 0 binary64))
%739 = (+.f64 %256 %7)
%741 = (+.f64 z (+.f64 #s(literal 0 binary64) %621))
%743 = (+.f64 z (-.f64 #s(literal 0 binary64) %640))
%744 = (+.f64 z %621)
%745 = (fma.f64 y x %228)
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) %17)
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %3 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %33) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %36) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %40) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %47) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %51) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %54) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %57) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %61) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %18) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %60) #s(literal -2 binary64))
(/.f64 (+.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (+.f64 %61 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %57 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %86 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (-.f64 %89 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %60 #s(literal 1/2 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %60 #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 %102 #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %86 #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 %60 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 4 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %57) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %61) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %18) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) %60) #s(literal 2 binary64))
(/.f64 (-.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %61 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %18 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %57 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (neg.f64 %33) #s(literal -4 binary64))
(/.f64 (neg.f64 %36) #s(literal -2 binary64))
(/.f64 (neg.f64 %40) #s(literal -2 binary64))
(/.f64 (neg.f64 %44) #s(literal 2 binary64))
(/.f64 (neg.f64 %47) #s(literal -1 binary64))
(/.f64 (neg.f64 %51) #s(literal 2 binary64))
(/.f64 (neg.f64 %54) #s(literal -4 binary64))
(/.f64 (neg.f64 %57) #s(literal 2 binary64))
(/.f64 (neg.f64 %61) #s(literal -2 binary64))
(/.f64 %33 #s(literal 4 binary64))
(/.f64 %36 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %89) #s(literal 2 binary64))
(/.f64 %40 #s(literal 2 binary64))
(/.f64 %44 #s(literal -2 binary64))
(/.f64 %47 #s(literal 1 binary64))
(/.f64 %51 #s(literal -2 binary64))
(/.f64 %54 #s(literal 4 binary64))
(/.f64 %57 #s(literal -2 binary64))
(/.f64 %61 #s(literal 2 binary64))
(/.f64 %18 #s(literal 2 binary64))
(/.f64 %60 #s(literal -2 binary64))
(/.f64 %86 #s(literal -1 binary64))
(/.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(neg.f64 %86)
(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) %39 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %3 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %17 #s(literal 0 binary64))
(-.f64 (+.f64 %17 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %39 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %3))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1/2 binary64) %102)
(-.f64 #s(literal 0 binary64) %86)
(-.f64 %3 #s(literal -1 binary64))
(-.f64 %17 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) %208)
(-.f64 #s(literal 1 binary64) %210)
(-.f64 #s(literal 1 binary64) %212)
%17
(+.f64 (/.f64 %89 #s(literal -2 binary64)) #s(literal 1 binary64))
(+.f64 %39 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 0 binary64) %39))
(+.f64 #s(literal 1/2 binary64) %39)
(+.f64 #s(literal 0 binary64) %17)
(+.f64 %3 #s(literal 1 binary64))
(+.f64 %17 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %3)
z
(*.f64 #s(literal 1 binary64) %228)
(pow.f64 %228 #s(literal 1 binary64))
%228
(/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1 binary64)))
(neg.f64 %233)
(*.f64 %235 %236)
(*.f64 %238 z)
(*.f64 %240 #s(literal 1/2 binary64))
(*.f64 %243 #s(literal 2 binary64))
(*.f64 %236 %245)
(*.f64 %242 %18)
(*.f64 %18 %242)
(*.f64 #s(literal 1/2 binary64) %249)
(*.f64 #s(literal 2 binary64) %251)
(*.f64 %86 %253)
(*.f64 %253 %86)
(*.f64 %256 #s(literal 1 binary64))
%256
(*.f64 %17 z)
(*.f64 #s(literal 1 binary64) %256)
(pow.f64 %256 #s(literal 1 binary64))
(/.f64 (fma.f64 %3 %236 %236) #s(literal 2 binary64))
(/.f64 (fma.f64 %236 %3 %236) #s(literal 2 binary64))
(/.f64 (fma.f64 %236 %18 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %18 %236 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %253 %60 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 z %18 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %17 %236 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %60 %253 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %236 %17 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %18 z #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %282 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %285) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %288) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %291) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %291) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %296) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %296) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %301) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %301) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %306) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %306) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %311) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %311) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %316) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %316) #s(literal 2 binary64))
(/.f64 (-.f64 %285 %321) #s(literal 2 binary64))
(/.f64 (-.f64 %288 %321) #s(literal 2 binary64))
(/.f64 (-.f64 %236 %326) #s(literal 2 binary64))
(/.f64 (-.f64 %236 %329) #s(literal 2 binary64))
(/.f64 (neg.f64 %332) #s(literal -2 binary64))
(/.f64 (neg.f64 %335) #s(literal -2 binary64))
(/.f64 (neg.f64 %240) #s(literal -2 binary64))
(/.f64 (neg.f64 %340) #s(literal -2 binary64))
(/.f64 (neg.f64 %249) #s(literal -2 binary64))
(/.f64 (neg.f64 %345) #s(literal -2 binary64))
(/.f64 (neg.f64 %282) #s(literal -2 binary64))
(/.f64 (neg.f64 %350) #s(literal -4 binary64))
(/.f64 (neg.f64 %353) #s(literal -4 binary64))
(/.f64 %332 #s(literal 2 binary64))
(/.f64 %335 #s(literal 2 binary64))
(/.f64 %240 #s(literal 2 binary64))
(/.f64 %340 #s(literal 2 binary64))
(/.f64 %249 #s(literal 2 binary64))
(/.f64 %345 #s(literal 2 binary64))
(/.f64 %282 #s(literal 2 binary64))
(/.f64 %350 #s(literal 4 binary64))
(/.f64 %353 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %256 #s(literal -1 binary64)))
(neg.f64 %367)
(fma.f64 %235 %236 %369)
(fma.f64 %235 %236 %371)
(fma.f64 %235 %236 #s(literal 0 binary64))
(fma.f64 %238 z %369)
(fma.f64 %238 z %371)
(fma.f64 %238 z #s(literal 0 binary64))
(fma.f64 %240 #s(literal 1/2 binary64) %369)
(fma.f64 %240 #s(literal 1/2 binary64) %371)
(fma.f64 %240 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %285 #s(literal 1/2 binary64) %380)
(fma.f64 %285 #s(literal 1/2 binary64) %382)
(fma.f64 %285 #s(literal 1/2 binary64) z)
(fma.f64 %243 #s(literal 2 binary64) %369)
(fma.f64 %243 #s(literal 2 binary64) %371)
(fma.f64 %243 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %388 #s(literal 2 binary64) %380)
(fma.f64 %388 #s(literal 2 binary64) %382)
(fma.f64 %388 #s(literal 2 binary64) z)
(fma.f64 %392 %236 %380)
(fma.f64 %392 %236 %382)
(fma.f64 %392 %236 z)
(fma.f64 %396 #s(literal 2 binary64) %397)
(fma.f64 %396 #s(literal 2 binary64) %400)
(fma.f64 %396 #s(literal 2 binary64) %402)
(fma.f64 %396 #s(literal 2 binary64) %404)
(fma.f64 %406 z %380)
(fma.f64 %406 z %382)
(fma.f64 %406 z z)
(fma.f64 #s(literal 1/4 binary64) %236 %397)
(fma.f64 #s(literal 1/4 binary64) %236 %400)
(fma.f64 #s(literal 1/4 binary64) %236 %402)
(fma.f64 #s(literal 1/4 binary64) %236 %404)
(fma.f64 %39 z %242)
(fma.f64 %236 %245 %369)
(fma.f64 %236 %245 %371)
(fma.f64 %236 %245 #s(literal 0 binary64))
(fma.f64 %236 %419 %380)
(fma.f64 %236 %419 %382)
(fma.f64 %236 %419 z)
(fma.f64 %236 #s(literal 1/4 binary64) %397)
(fma.f64 %236 #s(literal 1/4 binary64) %400)
(fma.f64 %236 #s(literal 1/4 binary64) %402)
(fma.f64 %236 #s(literal 1/4 binary64) %404)
(fma.f64 %242 %18 %369)
(fma.f64 %242 %18 %371)
(fma.f64 %242 %18 #s(literal 0 binary64))
(fma.f64 %242 %430 %380)
(fma.f64 %242 %430 %382)
(fma.f64 %242 %430 z)
(fma.f64 %242 %17 %251)
(fma.f64 %242 #s(literal 1 binary64) %397)
(fma.f64 %242 #s(literal 1 binary64) %400)
(fma.f64 %242 #s(literal 1 binary64) %402)
(fma.f64 %242 #s(literal 1 binary64) %404)
(fma.f64 %18 %242 %369)
(fma.f64 %18 %242 %371)
(fma.f64 %18 %242 #s(literal 0 binary64))
(fma.f64 %430 %242 %380)
(fma.f64 %430 %242 %382)
(fma.f64 %430 %242 z)
(fma.f64 %281 #s(literal 1 binary64) %380)
(fma.f64 %281 #s(literal 1 binary64) %382)
(fma.f64 %281 #s(literal 1 binary64) z)
(fma.f64 #s(literal -1 binary64) %253 %281)
(fma.f64 #s(literal 1/2 binary64) %249 %369)
(fma.f64 #s(literal 1/2 binary64) %249 %371)
(fma.f64 #s(literal 1/2 binary64) %249 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %288 %380)
(fma.f64 #s(literal 1/2 binary64) %288 %382)
(fma.f64 #s(literal 1/2 binary64) %288 z)
(fma.f64 #s(literal 1/2 binary64) z %397)
(fma.f64 #s(literal 1/2 binary64) z %400)
(fma.f64 #s(literal 1/2 binary64) z %402)
(fma.f64 #s(literal 1/2 binary64) z %404)
(fma.f64 #s(literal 2 binary64) %459 %397)
(fma.f64 #s(literal 2 binary64) %459 %400)
(fma.f64 #s(literal 2 binary64) %459 %402)
(fma.f64 #s(literal 2 binary64) %459 %404)
(fma.f64 #s(literal 2 binary64) %251 %369)
(fma.f64 #s(literal 2 binary64) %251 %371)
(fma.f64 #s(literal 2 binary64) %251 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %467 %380)
(fma.f64 #s(literal 2 binary64) %467 %382)
(fma.f64 #s(literal 2 binary64) %467 z)
(fma.f64 %86 %253 %369)
(fma.f64 %86 %253 %371)
(fma.f64 %86 %253 #s(literal 0 binary64))
(fma.f64 %253 #s(literal -1 binary64) %281)
(fma.f64 %253 %86 %369)
(fma.f64 %253 %86 %371)
(fma.f64 %253 %86 #s(literal 0 binary64))
(fma.f64 %253 x %380)
(fma.f64 %253 x %382)
(fma.f64 %253 x z)
(fma.f64 %3 z %380)
(fma.f64 %3 z %382)
(fma.f64 %3 z z)
(fma.f64 %256 #s(literal 1 binary64) %369)
(fma.f64 %256 #s(literal 1 binary64) %371)
(fma.f64 %256 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 z %39 %242)
(fma.f64 z #s(literal 1/2 binary64) %397)
(fma.f64 z #s(literal 1/2 binary64) %400)
(fma.f64 z #s(literal 1/2 binary64) %402)
(fma.f64 z #s(literal 1/2 binary64) %404)
(fma.f64 z %3 %380)
(fma.f64 z %3 %382)
(fma.f64 z %3 z)
(fma.f64 z %17 %369)
(fma.f64 z %17 %371)
(fma.f64 z %17 #s(literal 0 binary64))
(fma.f64 %17 %242 %243)
(fma.f64 %17 z %369)
(fma.f64 %17 z %371)
(fma.f64 %17 z #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %242 %397)
(fma.f64 #s(literal 1 binary64) %242 %400)
(fma.f64 #s(literal 1 binary64) %242 %402)
(fma.f64 #s(literal 1 binary64) %242 %404)
(fma.f64 #s(literal 1 binary64) %281 %380)
(fma.f64 #s(literal 1 binary64) %281 %382)
(fma.f64 #s(literal 1 binary64) %281 z)
(fma.f64 #s(literal 1 binary64) %256 %369)
(fma.f64 #s(literal 1 binary64) %256 %371)
(fma.f64 #s(literal 1 binary64) %256 #s(literal 0 binary64))
(fma.f64 x %253 %380)
(fma.f64 x %253 %382)
(fma.f64 x %253 z)
(-.f64 %281 %253)
(-.f64 z %399)
(+.f64 (fma.f64 %253 x %242) %242)
(+.f64 %402 %242)
(+.f64 %243 %243)
(+.f64 %404 %242)
(+.f64 %251 %251)
(+.f64 %380 %281)
(+.f64 %382 %281)
(+.f64 %242 %397)
(+.f64 %242 %400)
(+.f64 %242 %402)
(+.f64 %242 %404)
(+.f64 %281 %380)
(+.f64 %281 %382)
(+.f64 %281 z)
(+.f64 %256 %369)
(+.f64 %256 %371)
(+.f64 %256 #s(literal 0 binary64))
(+.f64 z (+.f64 #s(literal 0 binary64) %281))
(+.f64 z (-.f64 #s(literal 0 binary64) %399))
(+.f64 z %281)
(*.f64 #s(literal 1 binary64) %543)
(pow.f64 %543 #s(literal 1 binary64))
%543
(/.f64 #s(literal 1 binary64) (pow.f64 %543 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %210)
(neg.f64 %212)
%3
(fma.f64 #s(literal 1 binary64) %3 #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) %208)
(-.f64 #s(literal 0 binary64) %210)
(-.f64 #s(literal 0 binary64) x)
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) %3))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 0 binary64) %3)
(+.f64 %3 #s(literal 0 binary64))
%4
%5
%8
%7
%9
%10
%13
%15
(*.f64 #s(literal 1 binary64) %564)
(pow.f64 %564 #s(literal 1 binary64))
(/.f64 (+.f64 %567 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 %567) #s(literal -2 binary64))
(/.f64 %567 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %564 #s(literal -1 binary64)))
(neg.f64 %575)
(fma.f64 %396 #s(literal 2 binary64) %577)
(fma.f64 %396 #s(literal 2 binary64) %579)
(fma.f64 #s(literal 1/4 binary64) %236 %577)
(fma.f64 #s(literal 1/4 binary64) %236 %579)
(fma.f64 %236 #s(literal 1/4 binary64) %577)
(fma.f64 %236 #s(literal 1/4 binary64) %579)
(fma.f64 %242 #s(literal 1 binary64) %577)
(fma.f64 %242 #s(literal 1 binary64) %579)
(fma.f64 #s(literal 1/2 binary64) z %577)
(fma.f64 #s(literal 1/2 binary64) z %579)
(fma.f64 #s(literal 2 binary64) %459 %577)
(fma.f64 #s(literal 2 binary64) %459 %579)
(fma.f64 z #s(literal 1/2 binary64) %577)
(fma.f64 z #s(literal 1/2 binary64) %579)
(fma.f64 #s(literal 1 binary64) %242 %577)
(fma.f64 #s(literal 1 binary64) %242 %579)
(fma.f64 #s(literal 1 binary64) %2 z)
(fma.f64 #s(literal 1 binary64) %564 #s(literal 0 binary64))
(-.f64 %2 %253)
%564
(+.f64 (+.f64 %2 %242) %242)
(+.f64 %242 %577)
(+.f64 %242 %579)
(+.f64 %2 z)
(+.f64 %564 #s(literal 0 binary64))
(+.f64 z (+.f64 #s(literal 0 binary64) %2))
(+.f64 z (-.f64 #s(literal 0 binary64) y))
(+.f64 z %2)
%610
%611
%614
%616
%618
%620
%624
%626
%628
%632
%634
%636
%637
%639
%642
%643
%644
%645
%647
%649
%650
%651
%652
%653
%654
%656
%658
%659
%660
%661
%662
%663
%664
%665
%666
%667
%668
%669
%670
%671
%672
%673
%674
%675
%676
%677
%678
%679
%680
%681
%682
%683
%684
%685
%686
%687
%688
%609
%689
%690
%691
%692
%693
%694
%695
%696
%697
%698
%699
%700
%701
%702
%703
%704
%705
%706
%707
%708
%709
%710
%711
%712
%713
%714
%715
%716
%717
%718
%719
%720
%722
%724
%725
%726
%727
%728
%730
%731
%732
%733
%734
%735
%736
%737
%738
%739
%741
%743
%744
%610
%611
%614
%616
%618
%620
%624
%626
%628
%632
%634
%636
%637
%639
%642
%643
%644
%645
%647
%649
%650
%651
%652
%653
%654
%656
%658
%659
%660
%661
%662
%663
%664
%665
%666
%667
%668
%669
%670
%671
%672
%673
%674
%675
%676
%677
%678
%679
%680
%681
%682
%683
%684
%685
%686
%687
%688
%609
%689
%690
%691
%692
%693
%694
%695
%696
%697
%698
%699
%700
%701
%702
%703
%704
%705
%706
%707
%708
%709
%710
%711
%712
%713
%714
%715
%716
%717
%718
%719
%720
%722
%724
%725
%726
%727
%728
%730
%731
%732
%733
%734
%735
%736
%737
%738
%739
%741
%743
%744
(*.f64 #s(literal 1 binary64) %745)
(pow.f64 %745 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %745 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %745))
(fma.f64 %2 %3 %228)
(fma.f64 %3 %2 %228)
(fma.f64 #s(literal 1 binary64) %7 %228)
(fma.f64 #s(literal 1 binary64) %228 %7)
%745
(fma.f64 x y %228)
(-.f64 %7 %233)
(-.f64 %228 %14)
(+.f64 %7 %228)
(+.f64 %228 %7)

reconstruct53.0ms (4.2%)

Counts
671 → 76
Compiler

Compiled 671 to 844 computations (-25.8% saved)

eval6.0ms (0.5%)

Compiler

Compiled 69 to 163 computations (-136.2% saved)

prune2.0ms (0.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New66369
Fresh000
Picked224
Done000
Total68573
Accuracy
100.0%
Counts
73 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (-.f64 #s(literal 1 binary64) x) (*.f64 y x))
100.0%
(fma.f64 x (-.f64 y z) z)
77.2%
(fma.f64 x y (approx (* z (- 1 x)) z))
56.2%
(approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x)))
33.1%
%4 = (- 1 x)
(approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal 1 binary64))))
Compiler

Compiled 5 to 12 computations (-140.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0151628
Stop Event
iter-limit
Counts
11 → 44
Calls
Call 1
Inputs
%5 = (- 1 x)
%6 = (approx %5 #s(literal 1 binary64))
%8 = (approx (* z %5) z)
%9 = (-.f64 y z)
%12 = (*.f64 z %6)
x
y
#s(literal 1 binary64)
z
%6
%8
%9
(fma.f64 x %9 z)
(fma.f64 x y %8)
%12
(approx (+ (* x y) (* %5 z)) %12)
Outputs
%5 = (- 1 x)
%9 = (*.f64 #s(literal -1 binary64) x)
%10 = (+.f64 #s(literal 1 binary64) %9)
%13 = (* z %5)
%15 = (*.f64 x z)
%16 = (*.f64 #s(literal -1 binary64) %15)
%17 = (+.f64 z %16)
%20 = (- y z)
%22 = (+ (* x %20) z)
%23 = (-.f64 y z)
%24 = (*.f64 x %23)
%28 = (+ (* x y) %13)
%29 = (*.f64 #s(literal -1 binary64) z)
%30 = (+.f64 y %29)
%31 = (*.f64 x %30)
%35 = (/.f64 #s(literal 1 binary64) x)
%40 = (/.f64 z x)
%41 = (fma.f64 #s(literal -1 binary64) z %40)
%57 = (*.f64 #s(literal -1 binary64) %40)
%79 = (*.f64 x y)
%83 = (-.f64 #s(literal 1 binary64) x)
%84 = (*.f64 z %83)
%88 = (/.f64 z y)
%99 = (/.f64 %84 y)
%119 = (*.f64 z %10)
%122 = (/.f64 y z)
%127 = (/.f64 %79 z)
%145 = (*.f64 #s(literal -1 binary64) %127)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 #s(literal 1 binary64))
(approx %5 %10)
(approx %13 z)
(approx %13 %17)
(approx %22 (+.f64 z %24))
(approx %28 (+.f64 z %31))
(approx %5 %9)
(approx %5 (*.f64 x (-.f64 %35 #s(literal 1 binary64))))
(approx %13 %16)
(approx %13 (*.f64 x %41))
(approx %22 %24)
(approx %22 (*.f64 x (-.f64 (+.f64 y %40) z)))
(approx %28 %31)
(approx %28 (*.f64 x (+.f64 y %41)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %35))))
(approx %13 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z %57))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %23 %57))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %57)))))
(approx y y)
(approx %20 %29)
(approx %20 %23)
(approx %22 (+.f64 z (fma.f64 #s(literal -1 binary64) %15 %79)))
(approx %28 %84)
(approx %28 (fma.f64 x y %84))
(approx %20 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %88))))
(approx %22 %79)
(approx %22 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %15 y) %88))))
(approx %28 (*.f64 y (+.f64 x %99)))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %88 #s(literal 1 binary64)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %17 y))))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %99)))))
(approx %20 %30)
(approx %22 (fma.f64 x y %119))
(approx %20 (*.f64 z (-.f64 %122 #s(literal 1 binary64))))
(approx %22 %119)
(approx %22 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %127))))
(approx %28 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %127) x)))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %122)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64)))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 x %145) #s(literal 1 binary64)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %83 %145))))
Calls

9 calls:

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

rewrite106.0ms (8.4%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01659
02159
16759
215456
345756
4207556
0437756
0454556
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 210
Calls
Call 1
Inputs
%5 = (- 1 x)
%6 = (approx %5 #s(literal 1 binary64))
%8 = (approx (* z %5) z)
%9 = (-.f64 y z)
%12 = (*.f64 z %6)
x
y
#s(literal 1 binary64)
z
%6
%8
%9
(fma.f64 x %9 z)
(fma.f64 x y %8)
%12
(approx (+ (* x y) (* %5 z)) %12)
Outputs
%5 = (- 1 x)
%6 = (approx %5 #s(literal 1 binary64))
%13 = (approx (* %5 z) z)
%18 = (neg.f64 %13)
%20 = (-.f64 y z)
%25 = (+.f64 z z)
%26 = (-.f64 (*.f64 y #s(literal 2 binary64)) %25)
%36 = (-.f64 z y)
%44 = (*.f64 #s(literal 1/2 binary64) z)
%47 = (neg.f64 z)
%54 = (neg.f64 %44)
%56 = (neg.f64 %25)
%82 = (neg.f64 y)
%87 = (fma.f64 %20 x z)
%90 = (*.f64 y x)
%91 = (fma.f64 %90 #s(literal 2 binary64) %25)
%92 = (neg.f64 x)
%93 = (*.f64 %92 %25)
%96 = (*.f64 %25 %92)
%103 = (*.f64 %20 x)
%104 = (fma.f64 %103 #s(literal 2 binary64) %25)
%118 = (*.f64 %36 x)
%121 = (-.f64 #s(literal 1 binary64) x)
%128 = (fma.f64 y x z)
%136 = (*.f64 #s(literal 1/2 binary64) %44)
%137 = (fma.f64 #s(literal 1/2 binary64) z %103)
%139 = (-.f64 %44 %118)
%152 = (*.f64 #s(literal 2 binary64) %121)
%155 = (neg.f64 (+.f64 x x))
%161 = (*.f64 %92 z)
%163 = (*.f64 %121 z)
%172 = (*.f64 %44 #s(literal 1/2 binary64))
%180 = (-.f64 x #s(literal 1 binary64))
%208 = (*.f64 %92 y)
%228 = (fma.f64 y x %13)
%244 = (*.f64 %6 #s(literal 1/2 binary64))
%246 = (*.f64 %6 #s(literal 2 binary64))
%248 = (*.f64 %6 #s(literal 1 binary64))
%250 = (*.f64 %6 %25)
%252 = (*.f64 %6 %44)
%254 = (*.f64 #s(literal 1/2 binary64) %6)
%256 = (*.f64 #s(literal 2 binary64) %6)
%258 = (*.f64 %25 %6)
%260 = (*.f64 %44 %6)
%262 = (*.f64 %6 z)
%279 = (*.f64 %6 #s(literal 0 binary64))
%281 = (*.f64 #s(literal 0 binary64) %6)
%316 = (approx (- z (* (- z y) x)) %262)
x
y
#s(literal 1 binary64)
z
(*.f64 #s(literal 1 binary64) %6)
(pow.f64 %6 #s(literal 1 binary64))
%6
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %13)
(pow.f64 %13 #s(literal 1 binary64))
%13
(/.f64 #s(literal 1 binary64) (pow.f64 %13 #s(literal -1 binary64)))
(neg.f64 %18)
(*.f64 #s(literal 1 binary64) %20)
(pow.f64 %20 #s(literal 1 binary64))
(/.f64 (-.f64 %26 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 %26) #s(literal -2 binary64))
(/.f64 %26 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -1 binary64)))
(neg.f64 %36)
(fma.f64 (*.f64 #s(literal -1 binary64) %25) #s(literal 1/2 binary64) y)
(fma.f64 (*.f64 z #s(literal -1/2 binary64)) #s(literal 2 binary64) y)
(fma.f64 (*.f64 #s(literal -1 binary64) %44) #s(literal 2 binary64) y)
(fma.f64 (*.f64 %47 #s(literal 2 binary64)) #s(literal 1/2 binary64) y)
(fma.f64 (*.f64 z #s(literal -2 binary64)) #s(literal 1/2 binary64) y)
(fma.f64 (*.f64 %47 #s(literal 1/2 binary64)) #s(literal 2 binary64) y)
(fma.f64 %54 #s(literal 2 binary64) y)
(fma.f64 %56 #s(literal 1/2 binary64) y)
(fma.f64 %25 #s(literal -1/2 binary64) y)
(fma.f64 %44 #s(literal -2 binary64) y)
(fma.f64 #s(literal -1/2 binary64) %25 y)
(fma.f64 #s(literal -2 binary64) %44 y)
(fma.f64 #s(literal -1 binary64) z y)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %25 #s(literal -1 binary64)) y)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -2 binary64) z) y)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) %47) y)
(fma.f64 #s(literal 1/2 binary64) %56 y)
(fma.f64 #s(literal 2 binary64) (*.f64 %44 #s(literal -1 binary64)) y)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) %47) y)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) z) y)
(fma.f64 #s(literal 2 binary64) %54 y)
(fma.f64 %47 #s(literal 1 binary64) y)
(fma.f64 z #s(literal -1 binary64) y)
(fma.f64 #s(literal 1 binary64) %47 y)
(-.f64 (-.f64 y %44) %44)
(-.f64 %47 %82)
(-.f64 %20 #s(literal 0 binary64))
%20
(+.f64 %47 y)
(+.f64 y %47)
(*.f64 #s(literal 1 binary64) %87)
(pow.f64 %87 #s(literal 1 binary64))
(/.f64 (+.f64 %91 %93) #s(literal 2 binary64))
(/.f64 (+.f64 %91 %96) #s(literal 2 binary64))
(/.f64 (fma.f64 %92 %25 %91) #s(literal 2 binary64))
(/.f64 (fma.f64 %25 %92 %91) #s(literal 2 binary64))
(/.f64 (+.f64 %104 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %91 (*.f64 x %25)) #s(literal 2 binary64))
(/.f64 (-.f64 %91 (*.f64 %25 x)) #s(literal 2 binary64))
(/.f64 (neg.f64 %104) #s(literal -2 binary64))
(/.f64 %104 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %87 #s(literal -1 binary64)))
(neg.f64 (-.f64 %118 z))
(fma.f64 (*.f64 %121 #s(literal 1/2 binary64)) %25 %90)
(fma.f64 (*.f64 %121 #s(literal 1 binary64)) z %90)
(fma.f64 (*.f64 %121 %25) #s(literal 1/2 binary64) %90)
(fma.f64 %93 #s(literal 1/2 binary64) %128)
(fma.f64 (*.f64 %92 #s(literal 1/2 binary64)) %25 %128)
(fma.f64 (*.f64 %121 %44) #s(literal 2 binary64) %90)
(fma.f64 (*.f64 %92 %44) #s(literal 2 binary64) %128)
(fma.f64 %136 #s(literal 2 binary64) %137)
(fma.f64 %136 #s(literal 2 binary64) %139)
(fma.f64 (*.f64 %92 #s(literal 1 binary64)) z %128)
(fma.f64 #s(literal 1/4 binary64) %25 %137)
(fma.f64 #s(literal 1/4 binary64) %25 %139)
(fma.f64 %25 (*.f64 #s(literal 1/2 binary64) %121) %90)
(fma.f64 %25 (*.f64 #s(literal 1/2 binary64) %92) %128)
(fma.f64 %25 #s(literal 1/4 binary64) %137)
(fma.f64 %25 #s(literal 1/4 binary64) %139)
(fma.f64 %44 %152 %90)
(fma.f64 %44 %155 %128)
(fma.f64 %44 #s(literal 1 binary64) %137)
(fma.f64 %44 #s(literal 1 binary64) %139)
(fma.f64 %152 %44 %90)
(fma.f64 %155 %44 %128)
(fma.f64 %161 #s(literal 1 binary64) %128)
(fma.f64 %82 %92 %163)
(fma.f64 #s(literal 1/2 binary64) (*.f64 %25 %121) %90)
(fma.f64 #s(literal 1/2 binary64) %96 %128)
(fma.f64 #s(literal 1/2 binary64) z %137)
(fma.f64 #s(literal 1/2 binary64) z %139)
(fma.f64 #s(literal 2 binary64) (*.f64 %44 %121) %90)
(fma.f64 #s(literal 2 binary64) %172 %137)
(fma.f64 #s(literal 2 binary64) %172 %139)
(fma.f64 #s(literal 2 binary64) (*.f64 %44 %92) %128)
(fma.f64 %92 %82 %163)
(fma.f64 %92 %36 z)
(fma.f64 %92 z %128)
(fma.f64 %180 %47 %90)
(fma.f64 %36 %92 z)
(fma.f64 %47 %180 %90)
(fma.f64 %47 x %128)
(fma.f64 %163 #s(literal 1 binary64) %90)
%87
(fma.f64 %121 z %90)
(fma.f64 z #s(literal 1/2 binary64) %137)
(fma.f64 z #s(literal 1/2 binary64) %139)
(fma.f64 z %92 %128)
(fma.f64 z %121 %90)
(fma.f64 #s(literal 1 binary64) %128 %161)
(fma.f64 #s(literal 1 binary64) %44 %137)
(fma.f64 #s(literal 1 binary64) %44 %139)
(fma.f64 #s(literal 1 binary64) %161 %128)
(fma.f64 #s(literal 1 binary64) %103 z)
(fma.f64 #s(literal 1 binary64) %87 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %163 %90)
(fma.f64 #s(literal 1 binary64) %90 %163)
(fma.f64 y x %163)
(fma.f64 x %47 %128)
(fma.f64 x %20 z)
(fma.f64 x y %163)
(-.f64 %128 (*.f64 z x))
(-.f64 %161 (neg.f64 %128))
(-.f64 %103 %47)
(-.f64 %163 %208)
(-.f64 %90 (*.f64 %180 z))
(-.f64 z %118)
(+.f64 (fma.f64 %20 x %44) %44)
(+.f64 %128 %161)
(+.f64 %44 %137)
(+.f64 %44 %139)
(+.f64 %161 %128)
(+.f64 %103 z)
(+.f64 %87 #s(literal 0 binary64))
(+.f64 %163 %90)
(+.f64 %90 %163)
(+.f64 z (+.f64 #s(literal 0 binary64) %103))
(+.f64 z (-.f64 #s(literal 0 binary64) %118))
(+.f64 z %103)
(*.f64 #s(literal 1 binary64) %228)
(pow.f64 %228 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %228))
(fma.f64 %82 %92 %13)
(fma.f64 %92 %82 %13)
(fma.f64 #s(literal 1 binary64) %90 %13)
(fma.f64 #s(literal 1 binary64) %13 %90)
%228
(fma.f64 x y %13)
(-.f64 %90 %18)
(-.f64 %13 %208)
(+.f64 %90 %13)
(+.f64 %13 %90)
(*.f64 %244 %25)
(*.f64 %246 %44)
(*.f64 %248 z)
(*.f64 %250 #s(literal 1/2 binary64))
(*.f64 %252 #s(literal 2 binary64))
(*.f64 %25 %254)
(*.f64 %44 %256)
(*.f64 #s(literal 1/2 binary64) %258)
(*.f64 #s(literal 2 binary64) %260)
(*.f64 %262 #s(literal 1 binary64))
%262
(*.f64 z %6)
(*.f64 #s(literal 1 binary64) %262)
(pow.f64 %262 #s(literal 1 binary64))
(/.f64 (neg.f64 %250) #s(literal -2 binary64))
(/.f64 (neg.f64 %258) #s(literal -2 binary64))
(/.f64 %250 #s(literal 2 binary64))
(/.f64 %258 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %262 #s(literal -1 binary64)))
(neg.f64 (*.f64 %47 %6))
(neg.f64 (*.f64 %6 %47))
(fma.f64 %244 %25 %279)
(fma.f64 %244 %25 %281)
(fma.f64 %246 %44 %279)
(fma.f64 %246 %44 %281)
(fma.f64 %248 z %279)
(fma.f64 %248 z %281)
(fma.f64 %250 #s(literal 1/2 binary64) %279)
(fma.f64 %250 #s(literal 1/2 binary64) %281)
(fma.f64 %252 #s(literal 2 binary64) %279)
(fma.f64 %252 #s(literal 2 binary64) %281)
(fma.f64 %25 %254 %279)
(fma.f64 %25 %254 %281)
(fma.f64 %44 %256 %279)
(fma.f64 %44 %256 %281)
(fma.f64 %44 %6 %260)
(fma.f64 #s(literal 1/2 binary64) %258 %279)
(fma.f64 #s(literal 1/2 binary64) %258 %281)
(fma.f64 #s(literal 2 binary64) %260 %279)
(fma.f64 #s(literal 2 binary64) %260 %281)
(fma.f64 %262 #s(literal 1 binary64) %279)
(fma.f64 %262 #s(literal 1 binary64) %281)
(fma.f64 %6 %44 %252)
(fma.f64 %6 z %279)
(fma.f64 %6 z %281)
(fma.f64 z %6 %279)
(fma.f64 z %6 %281)
(fma.f64 #s(literal 1 binary64) %262 %279)
(fma.f64 #s(literal 1 binary64) %262 %281)
(+.f64 %252 %252)
(+.f64 %260 %260)
(+.f64 %262 %279)
(+.f64 %262 %281)
(*.f64 #s(literal 1 binary64) %316)
(pow.f64 %316 #s(literal 1 binary64))
%316
(/.f64 #s(literal 1 binary64) (pow.f64 %316 #s(literal -1 binary64)))

reconstruct20.0ms (1.6%)

Counts
253 → 52
Compiler

Compiled 253 to 406 computations (-60.5% saved)

eval4.0ms (0.3%)

Compiler

Compiled 48 to 118 computations (-145.8% saved)

prune2.0ms (0.2%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New46248
Fresh000
Picked123
Done022
Total47653
Accuracy
100.0%
Counts
53 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (-.f64 #s(literal 1 binary64) x) (*.f64 y x))
77.2%
(fma.f64 x y (approx (* z (- 1 x)) z))
67.7%
(approx (+ (* x (- y z)) z) (*.f64 x (-.f64 y z)))
46.3%
(approx (+ (* x (- y z)) z) (*.f64 x y))
56.2%
(approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x)))
33.1%
%4 = (- 1 x)
(approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal 1 binary64))))
Compiler

Compiled 6 to 13 computations (-116.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series12.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0106419
Stop Event
iter-limit
Counts
8 → 31
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 y z)
%5 = (*.f64 x %4)
%8 = (+ (* x (- y z)) z)
x
y
%2
z
%4
%5
(approx %8 %5)
(approx %8 %2)
Outputs
%6 = (*.f64 x y)
%9 = (- y z)
%10 = (* x %9)
%11 = (-.f64 y z)
%12 = (*.f64 x %11)
%14 = (+ %10 z)
%18 = (/.f64 z x)
%30 = (*.f64 #s(literal -1 binary64) z)
%33 = (*.f64 x z)
%34 = (*.f64 #s(literal -1 binary64) %33)
%36 = (fma.f64 #s(literal -1 binary64) %33 %6)
%38 = (+.f64 z %34)
%43 = (/.f64 z y)
%48 = (/.f64 %33 y)
%75 = (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
%78 = (/.f64 y z)
%82 = (/.f64 %6 z)
%83 = (fma.f64 #s(literal -1 binary64) x %82)
%96 = (+.f64 x (*.f64 #s(literal -1 binary64) %82))
(approx x #s(literal 0 binary64))
(approx x x)
(approx (* x y) %6)
(approx %10 %12)
(approx %14 z)
(approx %14 (+.f64 z %12))
(approx %14 (*.f64 x (-.f64 (+.f64 y %18) z)))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %11 (*.f64 #s(literal -1 binary64) %18)))))
(approx y y)
(approx %9 %30)
(approx %9 %11)
(approx %10 %34)
(approx %10 %36)
(approx %14 %38)
(approx %14 (+.f64 z %36))
(approx %9 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %43))))
(approx %10 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %48))))
(approx %14 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) %48 %43))))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %43 #s(literal 1 binary64)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %48))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %38 y))))))
(approx %9 (+.f64 y %30))
(approx %14 (fma.f64 x y %75))
(approx %9 (*.f64 z (-.f64 %78 #s(literal 1 binary64))))
(approx %10 (*.f64 z %83))
(approx %14 %75)
(approx %14 (*.f64 z (+.f64 #s(literal 1 binary64) %83)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %78)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 z %96)))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %96 #s(literal 1 binary64)))))
Calls

9 calls:

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

rewrite72.0ms (5.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
01438
13238
26438
316938
440238
584638
0406038
0429836
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 64
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (-.f64 y z)
%5 = (*.f64 x %4)
%8 = (+ (* x (- y z)) z)
x
y
%2
z
%4
%5
(approx %8 %5)
(approx %8 %2)
Outputs
%3 = (neg.f64 x)
%4 = (*.f64 %3 y)
%6 = (neg.f64 y)
%10 = (*.f64 y x)
%18 = (-.f64 z y)
%20 = (-.f64 y z)
%27 = (neg.f64 z)
%28 = (*.f64 y #s(literal 1 binary64))
%31 = (*.f64 %27 #s(literal 1 binary64))
%38 = (*.f64 %18 x)
%42 = (*.f64 %20 x)
%49 = (*.f64 %3 z)
%51 = (*.f64 z x)
%53 = (*.f64 %10 #s(literal 1 binary64))
%62 = (*.f64 %49 #s(literal 1 binary64))
%75 = (+ (* (- y z) x) z)
%76 = (approx %75 %42)
%81 = (approx %75 %10)
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %3 %6)
(*.f64 %6 %3)
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 x y)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %4)
z
(*.f64 #s(literal -1 binary64) %18)
(*.f64 #s(literal 1 binary64) %20)
(pow.f64 %20 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -1 binary64)))
(neg.f64 %18)
(fma.f64 #s(literal -1 binary64) z y)
(fma.f64 %27 #s(literal 1 binary64) %28)
(fma.f64 #s(literal 1 binary64) %27 y)
(fma.f64 y #s(literal 1 binary64) %31)
(-.f64 %27 %6)
%20
(+.f64 %31 %28)
(+.f64 %28 %31)
(+.f64 %27 y)
(+.f64 y %27)
(*.f64 #s(literal -1 binary64) %38)
(*.f64 %3 %18)
(*.f64 %18 %3)
(*.f64 #s(literal 1 binary64) %42)
%42
(*.f64 x %20)
(pow.f64 %42 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %42 #s(literal -1 binary64)))
(neg.f64 %38)
(fma.f64 #s(literal -1 binary64) %4 %49)
(fma.f64 #s(literal -1 binary64) %51 %10)
(fma.f64 %49 #s(literal 1 binary64) %53)
(fma.f64 %3 %6 %49)
(fma.f64 %3 z %10)
(fma.f64 %6 %3 %49)
(fma.f64 %27 x %10)
(fma.f64 #s(literal 1 binary64) %49 %10)
(fma.f64 #s(literal 1 binary64) %10 %49)
(fma.f64 z %3 %10)
(fma.f64 %10 #s(literal 1 binary64) %62)
(fma.f64 y x %49)
(fma.f64 x %27 %10)
(fma.f64 x y %49)
(-.f64 %49 %4)
(-.f64 %10 %51)
(+.f64 %62 %53)
(+.f64 %53 %62)
(+.f64 %49 %10)
(+.f64 %10 %49)
(*.f64 #s(literal 1 binary64) %76)
(pow.f64 %76 #s(literal 1 binary64))
%76
(/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %81)
(pow.f64 %81 #s(literal 1 binary64))
%81
(/.f64 #s(literal 1 binary64) (pow.f64 %81 #s(literal -1 binary64)))

reconstruct7.0ms (0.6%)

Counts
95 → 33
Compiler

Compiled 95 to 146 computations (-53.7% saved)

eval3.0ms (0.3%)

Compiler

Compiled 33 to 77 computations (-133.3% saved)

prune2.0ms (0.2%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New29433
Fresh000
Picked022
Done224
Total31839
Accuracy
100.0%
Counts
39 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.2%
(fma.f64 x y (approx (* z (- 1 x)) z))
66.5%
(approx (+ (* x (- y z)) z) (fma.f64 x (neg.f64 z) (*.f64 y x)))
64.2%
(approx (+ (* x (- y z)) z) (-.f64 (*.f64 y x) (*.f64 z x)))
2.6%
(approx (+ (* x (- y z)) z) (*.f64 (approx x #s(literal 0 binary64)) y))
67.7%
(approx (+ (* x (- y z)) z) (*.f64 x (-.f64 y z)))
46.3%
(approx (+ (* x (- y z)) z) (*.f64 x y))
33.1%
(approx (+ (* x (- y z)) z) z)
56.2%
(approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x)))
Compiler

Compiled 8 to 17 computations (-112.5% saved)

regimes35.0ms (2.8%)

Accuracy

Total 15.2b remaining (17.2%)

Threshold costs 0.2b (0.2%)

7.6b60.7%
6.3b53.4%
1.1b92.2%
0.2b0.0%
0.0b0.0%

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

4 calls:

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

Compiled 18 to 34 computations (-88.9% saved)

bsearch0.0ms (0.0%)

bsearch15.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
2.2045952188073033e-14
0.0005825814724763941
5.0ms
-14298.649587223466
-771.6157302664199
Samples
6.0ms272×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)

bsearch11.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
3.4571509103209496e-111
3.205036354109671e-110
6.0ms
-6.742668220036118e+82
-3.452883268481648e+79
Samples
5.0ms224×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)

bsearch0.0ms (0.0%)

bsearch10.0ms (0.8%)

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

Compiled 16 to 19 computations (-18.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%)

derivations74.0ms (5.9%)

Stop Event
fuel
Compiler

Compiled 6 to 29 computations (-383.3% saved)

preprocess34.0ms (2.7%)

Compiler

Compiled 7 to 37 computations (-428.6% saved)

end0.0ms (0.0%)

gc229ms (18.3%)

Allocations
AllocatedPercentPhase
429.9 MiB31.0%rewrite
297.9 MiB21.5%sample
241.7 MiB17.4%reconstruct
132.5 MiB9.6%series
72.9 MiB5.3%preprocess
61.5 MiB4.4%regimes
58.0 MiB4.2%bsearch
45.0 MiB3.2%eval
24.7 MiB1.8%derivations
21.2 MiB1.5%prune
0.7 MiB0.0%analyze
0.1 MiB0.0%start
0.0 MiB0.0%end
1 385.9 MiB100.0%total

Profiling

Loading profile data...