Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, A

Time bar (total: 2.6s)

analyze0.0ms (0%)

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

Compiled 11 to 8 computations (27.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-sub: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample880.0ms (34.2%)

Results
540.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 293.0ms
ival-mult: 191.0ms (65.2% of total)
ival-sub: 87.0ms (29.7% of total)
const: 11.0ms (3.8% of total)
backward-pass: 3.0ms (1% of total)
Bogosity

preprocess93.0ms (3.6%)

Algorithm
egg-herbie
Rules
996×fnmadd-define
842×fnmsub-define
830×fmsub-define
720×fma-define
564×fma-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02776
19573
223963
369460
4156160
5289360
6333360
7336960
8336960
9336960
077
1167
2466
31106
41706
52686
64896
76466
88586
915506
1018556
1119016
019016
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(- x (* (* y 4) z))
Outputs
(- x (* (* y 4) z))
(+.f64 x (*.f64 #s(literal -4 binary64) (*.f64 y z)))
Call 2
Inputs
(- x (* (* y 4) z))
(- (neg x) (* (* y 4) z))
(- x (* (* (neg y) 4) z))
(- x (* (* y 4) (neg z)))
(neg (- (neg x) (* (* y 4) z)))
(neg (- x (* (* (neg y) 4) z)))
(neg (- x (* (* y 4) (neg z))))
(- y (* (* x 4) z))
(- z (* (* y 4) x))
(- x (* (* z 4) y))
Outputs
(- x (* (* y 4) z))
(fma y (* z -4) x)
(- (neg x) (* (* y 4) z))
(fnmsub y (* 4 z) x)
(- x (* (* (neg y) 4) z))
(fma y (* 4 z) x)
(- x (* (* y 4) (neg z)))
(fma y (* 4 z) x)
(neg (- (neg x) (* (* y 4) z)))
(fma y (* 4 z) x)
(neg (- x (* (* (neg y) 4) z)))
(fnmsub y (* 4 z) x)
(neg (- x (* (* y 4) (neg z))))
(fnmsub y (* 4 z) x)
(- y (* (* x 4) z))
(fma x (* z -4) y)
(- z (* (* y 4) x))
(fma x (* y -4) z)
(- x (* (* z 4) y))
(fma y (* z -4) x)
Symmetry

(sort y z)

explain94.0ms (3.7%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(*.f64 (*.f64 y #s(literal 4 binary64)) z)
00-0-#s(literal 4 binary64)
00-0-z
00-0-(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
00-0-(*.f64 y #s(literal 4 binary64))
00-0-y
Results
40.0ms512×0valid
Compiler

Compiled 56 to 23 computations (58.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 15.0ms (80.8% of total)
ival-sub: 3.0ms (16.2% of total)
const: 1.0ms (5.4% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 10 to 7 computations (30% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Compiler

Compiled 10 to 7 computations (30% saved)

simplify37.0ms (1.4%)

Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y #s(literal 4 binary64))
cost-diff0
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
cost-diff0
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Rules
564×fma-define
564×fnmadd-define
480×sum3-define
324×fma-lowering-fma.f32
324×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0719
11619
24618
311018
417018
526818
648918
764618
885818
9155018
10185518
11190118
0190118
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(- x (* (* y 4) z))
x
(* (* y 4) z)
(* y 4)
y
4
z
Outputs
(- x (* (* y 4) z))
(+.f64 x (*.f64 #s(literal -4 binary64) (*.f64 y z)))
x
(* (* y 4) z)
(*.f64 #s(literal 4 binary64) (*.f64 y z))
(* y 4)
(*.f64 y #s(literal 4 binary64))
y
4
#s(literal 4 binary64)
z

localize29.0ms (1.1%)

Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
accuracy100.0%
(*.f64 y #s(literal 4 binary64))
accuracy100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Results
17.0ms256×0valid
Compiler

Compiled 23 to 8 computations (65.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (69.9% of total)
ival-sub: 1.0ms (17.5% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series6.0ms (0.2%)

Counts
3 → 72
Calls
Call 1
Inputs
#<alt (- x (* (* y 4) z))>
#<alt (* (* y 4) z)>
#<alt (* y 4)>
Outputs
#<alt (* -4 (* y z))>
#<alt (- x (* 4 (* y z)))>
#<alt (- x (* 4 (* y z)))>
#<alt (- x (* 4 (* y z)))>
#<alt x>
#<alt (* x (+ 1 (* -4 (/ (* y z) x))))>
#<alt (* x (+ 1 (* -4 (/ (* y z) x))))>
#<alt (* x (+ 1 (* -4 (/ (* y z) x))))>
#<alt x>
#<alt (* -1 (* x (- (* 4 (/ (* y z) x)) 1)))>
#<alt (* -1 (* x (- (* 4 (/ (* y z) x)) 1)))>
#<alt (* -1 (* x (- (* 4 (/ (* y z) x)) 1)))>
#<alt x>
#<alt (+ x (* -4 (* y z)))>
#<alt (+ x (* -4 (* y z)))>
#<alt (+ x (* -4 (* y z)))>
#<alt (* -4 (* y z))>
#<alt (* y (- (/ x y) (* 4 z)))>
#<alt (* y (- (/ x y) (* 4 z)))>
#<alt (* y (- (/ x y) (* 4 z)))>
#<alt (* -4 (* y z))>
#<alt (* -1 (* y (- (* -1 (/ x y)) (* -4 z))))>
#<alt (* -1 (* y (- (* -1 (/ x y)) (* -4 z))))>
#<alt (* -1 (* y (- (* -1 (/ x y)) (* -4 z))))>
#<alt x>
#<alt (+ x (* -4 (* y z)))>
#<alt (+ x (* -4 (* y z)))>
#<alt (+ x (* -4 (* y z)))>
#<alt (* -4 (* y z))>
#<alt (* z (- (/ x z) (* 4 y)))>
#<alt (* z (- (/ x z) (* 4 y)))>
#<alt (* z (- (/ x z) (* 4 y)))>
#<alt (* -4 (* y z))>
#<alt (* -1 (* z (- (* -1 (/ x z)) (* -4 y))))>
#<alt (* -1 (* z (- (* -1 (/ x z)) (* -4 y))))>
#<alt (* -1 (* z (- (* -1 (/ x z)) (* -4 y))))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 (* y z))>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
#<alt (* 4 y)>
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@0
(* y 4)
0.0ms
x
@0
(- x (* (* y 4) z))
0.0ms
y
@-inf
(- x (* (* y 4) z))
0.0ms
y
@0
(- x (* (* y 4) z))
0.0ms
z
@inf
(- x (* (* y 4) z))

rewrite307.0ms (11.9%)

Algorithm
batch-egg-rewrite
Rules
3588×*-lowering-*.f32
3588×*-lowering-*.f64
1700×unpow-prod-down
1542×pow-lowering-pow.f64
1542×pow-lowering-pow.f32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0715
12915
222314
3251314
0813514
Stop Event
iter limit
node limit
Counts
3 → 98
Calls
Call 1
Inputs
(- x (* (* y 4) z))
(* (* y 4) z)
(* y 4)
Outputs
(+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64))))
(+.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)
(+.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))))) #s(literal -1 binary64)))
(-.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(-.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 y (*.f64 #s(literal 4 binary64) z)) x))
(-.f64 (+.f64 x #s(literal 0 binary64)) (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 x (/.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 x (/.f64 x (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(fma.f64 y (*.f64 z #s(literal -4 binary64)) x)
(fma.f64 (*.f64 y #s(literal 4 binary64)) (-.f64 #s(literal 0 binary64) z) x)
(fma.f64 z (*.f64 y #s(literal -4 binary64)) x)
(fma.f64 (*.f64 x (*.f64 x x)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(fma.f64 (*.f64 x x) (/.f64 x (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 (*.f64 y #s(literal -4 binary64)) z x)
(fma.f64 #s(literal -1 binary64) (*.f64 y (*.f64 #s(literal 4 binary64) z)) x)
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 #s(literal 4 binary64) z) x)
(fma.f64 (-.f64 #s(literal 0 binary64) z) (*.f64 y #s(literal 4 binary64)) x)
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (-.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 x x)))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (neg.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(fma.f64 (/.f64 (*.f64 x x) (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))) (neg.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 #s(literal 4 binary64) z)) (-.f64 (*.f64 y (*.f64 #s(literal 4 binary64) z)) x))) (neg.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (neg.f64 x))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))
(/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)))))
(/.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 z (*.f64 z z)))) #s(literal 262144 binary64)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64))))) #s(literal 1 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x))))
(/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (-.f64 (*.f64 x x) (*.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) #s(literal 1 binary64)) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))
(/.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) #s(literal 1 binary64)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 z (*.f64 z z)))) #s(literal 262144 binary64)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (neg.f64 (+.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (neg.f64 x))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (+.f64 (*.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (+.f64 (*.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(/.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 x x)) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (*.f64 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))) (+.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (/.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (+.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (/.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 z (*.f64 z z)))) #s(literal 262144 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64))))) #s(literal 1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (*.f64 (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (/.f64 (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(*.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (*.f64 (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (/.f64 (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))
(*.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))))
(*.f64 (+.f64 (neg.f64 (*.f64 x x)) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (neg.f64 x))))
(*.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) #s(literal -1 binary64)))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))))
(*.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)))))
(*.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 #s(literal 4 binary64) z)) (-.f64 (*.f64 y (*.f64 #s(literal 4 binary64) z)) x))))
(*.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))) (-.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))) (+.f64 x (*.f64 y (*.f64 z #s(literal -4 binary64)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))))) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (-.f64 (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))) (*.f64 x x)))))
(*.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64)))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))) (+.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 z (*.f64 z z)))) #s(literal 262144 binary64))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 (*.f64 #s(literal 4 binary64) z) (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 z (*.f64 z z)) #s(literal 64 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (+.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 4096 binary64)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z))) (-.f64 (*.f64 x (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64))))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y (*.f64 (*.f64 z z) #s(literal 16 binary64)))))))
(*.f64 y (*.f64 #s(literal 4 binary64) z))
(*.f64 #s(literal 4 binary64) (*.f64 y z))
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
(*.f64 z (*.f64 y #s(literal 4 binary64)))
(*.f64 (*.f64 #s(literal 4 binary64) z) y)
(*.f64 (*.f64 y z) #s(literal 4 binary64))
(*.f64 y #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) y)

simplify352.0ms (13.7%)

Algorithm
egg-herbie
Rules
2304×sum4-define
1968×fnmsub-define
1950×*-lowering-*.f32
1950×*-lowering-*.f64
960×times-frac
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038374
1111347
2286347
31011347
43761347
57285347
08115347
Stop Event
iter limit
node limit
Counts
72 → 72
Calls
Call 1
Inputs
(* -4 (* y z))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* -4 (* y z))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* -4 (* y z))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
Outputs
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(- x (* 4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(- x (* 4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(- x (* 4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
x
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(* y (- (/ x y) (* 4 z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* y (- (/ x y) (* 4 z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* y (- (/ x y) (* 4 z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
x
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(+ x (* -4 (* y z)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(* z (- (/ x z) (* 4 y)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* z (- (/ x z) (* 4 y)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* z (- (/ x z) (* 4 y)))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(+.f64 (*.f64 #s(literal -4 binary64) (*.f64 y z)) x)
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 (* y z))
(*.f64 y (*.f64 z #s(literal 4 binary64)))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))
(* 4 y)
(*.f64 y #s(literal 4 binary64))

eval18.0ms (0.7%)

Compiler

Compiled 4823 to 299 computations (93.8% saved)

prune37.0ms (1.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1682170
Fresh000
Picked011
Done000
Total1683171
Accuracy
100.0%
Counts
171 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
46.6%
(*.f64 #s(literal -4 binary64) (*.f64 y z))
55.5%
x
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y z)
cost-diff0
(*.f64 #s(literal -4 binary64) (*.f64 y z))
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0612
11012
21712
31912
01912
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
x
(* -4 (* y z))
-4
(* y z)
y
z
Outputs
x
(* -4 (* y z))
(*.f64 #s(literal -4 binary64) (*.f64 y z))
-4
#s(literal -4 binary64)
(* y z)
(*.f64 y z)
y
z

localize22.0ms (0.9%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 y z)
accuracy100.0%
(*.f64 #s(literal -4 binary64) (*.f64 y z))
Results
16.0ms256×0valid
Compiler

Compiled 16 to 7 computations (56.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 4.0ms (90.4% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series2.0ms (0.1%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (* -4 (* y z))>
#<alt (* y z)>
Outputs
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* -4 (* y z))>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
#<alt (* y z)>
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(* -4 (* y z))
0.0ms
z
@0
(* -4 (* y z))
0.0ms
z
@-inf
(* y z)
0.0ms
y
@-inf
(* y z)
0.0ms
y
@-inf
(* -4 (* y z))

rewrite13.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
198
2168
3188
0188
Stop Event
iter limit
saturated
Counts
2 → 8
Calls
Call 1
Inputs
(* -4 (* y z))
(* y z)
Outputs
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(*.f64 z (*.f64 #s(literal -4 binary64) y))
(*.f64 (*.f64 y z) #s(literal -4 binary64))
(*.f64 (*.f64 #s(literal -4 binary64) y) z)
(*.f64 (*.f64 #s(literal -4 binary64) z) y)
(*.f64 y z)
(*.f64 z y)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05192
19192
216192
318192
018192
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
Outputs
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* -4 (* y z))
(*.f64 y (*.f64 #s(literal -4 binary64) z))
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)
(* y z)
(*.f64 y z)

eval6.0ms (0.2%)

Compiler

Compiled 283 to 15 computations (94.7% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New56056
Fresh000
Picked022
Done011
Total56359
Accuracy
100.0%
Counts
59 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
46.6%
(*.f64 #s(literal -4 binary64) (*.f64 y z))
55.5%
x
Compiler

Compiled 38 to 26 computations (31.6% saved)

regimes12.0ms (0.5%)

Counts
3 → 1
Calls
Call 1
Inputs
x
(*.f64 #s(literal -4 binary64) (*.f64 y z))
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Calls

6 calls:

2.0ms
x
2.0ms
(*.f64 y #s(literal 4 binary64))
2.0ms
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
100.0%1(*.f64 (*.f64 y #s(literal 4 binary64)) z)
100.0%1(*.f64 y #s(literal 4 binary64))
Compiler

Compiled 36 to 27 computations (25% saved)

regimes5.0ms (0.2%)

Counts
2 → 3
Calls
Call 1
Inputs
x
(*.f64 #s(literal -4 binary64) (*.f64 y z))
Outputs
(*.f64 #s(literal -4 binary64) (*.f64 y z))
x
(*.f64 #s(literal -4 binary64) (*.f64 y z))
Calls

3 calls:

2.0ms
x
1.0ms
z
1.0ms
y
Results
AccuracySegmentsBranch
75.0%3x
77.5%3y
77.4%3z
Compiler

Compiled 12 to 9 computations (25% saved)

regimes4.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
x
Outputs
x
Calls

3 calls:

1.0ms
x
1.0ms
y
1.0ms
z
Results
AccuracySegmentsBranch
55.5%1x
55.5%1z
55.5%1y
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch26.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
5.709627625474252e-93
4.1639640338148676e-83
9.0ms
-8.630067294935898e+107
-1.076188445848922e+107
Results
15.0ms256×0valid
Compiler

Compiled 240 to 188 computations (21.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-sub: 4.0ms (52.2% of total)
ival-mult: 4.0ms (52.2% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

simplify11.0ms (0.4%)

Algorithm
egg-herbie
Rules
18×*-commutative_binary64
12×+-commutative_binary64
12×sub-neg_binary64
10×neg-sub0_binary64
10×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01623
12823
24623
35623
46423
56723
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(if (<=.f64 y #s(literal -194999999999999992289070110640768748684217423941992865501781497985194473507595399037240264860352610423537664 binary64)) (*.f64 #s(literal -4 binary64) (*.f64 y z)) (if (<=.f64 y #s(literal 1401207495564117/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216 binary64)) x (*.f64 #s(literal -4 binary64) (*.f64 y z))))
x
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(if (<=.f64 y #s(literal -194999999999999992289070110640768748684217423941992865501781497985194473507595399037240264860352610423537664 binary64)) (*.f64 #s(literal -4 binary64) (*.f64 y z)) (if (<=.f64 y #s(literal 1401207495564117/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216 binary64)) x (*.f64 #s(literal -4 binary64) (*.f64 y z))))
x

soundness548.0ms (21.3%)

Rules
2304×sum4-define
1968×fnmsub-define
1950×*-lowering-*.f32
1950×*-lowering-*.f64
960×times-frac
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038374
1111347
2286347
31011347
43761347
57285347
08115347
Stop Event
done
iter limit
node limit
Compiler

Compiled 46 to 28 computations (39.1% saved)

preprocess54.0ms (2.1%)

Remove

(sort y z)

Compiler

Compiled 120 to 74 computations (38.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...