Details

Time bar (total: 11.6s)

analyze364.0ms (3.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
18.7%81.1%0.1%8
28.1%71.8%0.1%9
34.3%59.3%6.4%10
40.6%51.3%8.1%11
48%43.2%8.8%12
Compiler

Compiled 17 to 13 computations (23.5% saved)

sample1.2s (10.6%)

Results
945.0ms7752×body256valid
154.0ms1340×body256invalid
61.0ms217×body1024valid
55.0ms287×body512valid

preprocess64.0ms (0.6%)

Algorithm
egg-herbie
Rules
928×unsub-neg_binary64
767×fma-neg_binary64
566×distribute-rgt-in_binary64
455×distribute-lft-in_binary64
341×associate-+r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02864
15756
216456
367648
4219348
5548948
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) (-.f64 (/.f64 2 3) x)))
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) (-.f64 (/.f64 2 3) y)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z)))
(fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)
(fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 y (*.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 x y))))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 x y)) y)
(fma.f64 6 (*.f64 (-.f64 2/3 z) (-.f64 x y)) y)
(fma.f64 (-.f64 x y) (fma.f64 -6 z 4) y)
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) (-.f64 (/.f64 2 3) x)))
(+.f64 z (*.f64 (-.f64 y z) (*.f64 6 (-.f64 2/3 x))))
(fma.f64 (*.f64 6 (-.f64 y z)) (-.f64 2/3 x) z)
(fma.f64 (-.f64 y z) (*.f64 6 (-.f64 2/3 x)) z)
(fma.f64 (-.f64 y z) (fma.f64 -6 x 4) z)
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) (-.f64 (/.f64 2 3) y)))
(+.f64 x (*.f64 (*.f64 6 (-.f64 z x)) (-.f64 2/3 y)))
(fma.f64 (*.f64 6 (-.f64 z x)) (-.f64 2/3 y) x)
(fma.f64 6 (*.f64 (-.f64 z x) (-.f64 2/3 y)) x)
(fma.f64 (-.f64 z x) (fma.f64 -6 y 4) x)
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify294.0ms (2.5%)

Algorithm
egg-herbie
Rules
5304×fma-neg_binary64
682×unsub-neg_binary64
376×fma-def_binary64
347×sub-neg_binary64
287×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01416
12314
26014
320212
463412
5199612
6401712
7583512
8651812
9678612
10685012
11686912
12687312
13687312
14687312
15715512
16720612
17720612
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 (-.f64 2/3 z))))
(fma.f64 (-.f64 y x) (*.f64 6 (-.f64 2/3 z)) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)

eval1.0ms (0%)

Compiler

Compiled 25 to 16 computations (36% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
0.2b
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
Compiler

Compiled 28 to 20 computations (28.6% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 2 3) z)
0.0b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
0.0b
(*.f64 (-.f64 y x) 6)
0.3b
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))
Compiler

Compiled 49 to 31 computations (36.7% saved)

series14.0ms (0.1%)

Counts
4 → 108
Calls

27 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(*.f64 (-.f64 y x) 6)
1.0ms
z
@inf
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))
1.0ms
x
@0
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))
1.0ms
y
@0
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))
1.0ms
y
@inf
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
647×log-prod_binary64
447×fma-def_binary64
380×pow2_binary64
263×expm1-udef_binary64
263×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01440
129538
2392238
Stop Event
node limit
Counts
4 → 156
Calls
Call 1
Inputs
(*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z))
(*.f64 (-.f64 y x) 6)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(-.f64 (/.f64 2 3) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (*.f64 (-.f64 y x) 6)) (*.f64 (neg.f64 z) (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 y x) 6) 2/3) (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 6 (-.f64 2/3 z))) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (*.f64 6 (-.f64 2/3 z))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (*.f64 (-.f64 y x) 6)) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (*.f64 (-.f64 y x) 6)) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) 6) 2/3 (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 (*.f64 (-.f64 y x) 6) (*.f64 (neg.f64 z) (*.f64 (-.f64 y x) 6)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 6) (*.f64 (neg.f64 x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 y) (*.f64 6 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y x) 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) 6) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) 6) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (-.f64 (*.f64 y y) (*.f64 x x))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y x) 6) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) 6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y x) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 36 (pow.f64 (-.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y x) 6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y x) 6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (*.f64 (neg.f64 x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (*.f64 6 (neg.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))) (/.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2) (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 2)) (cbrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)) (sqrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3)) (/.f64 1 (fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2)) (/.f64 1 (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3)) (fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3)) (+.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x (*.f64 (-.f64 y x) 6)) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2)) (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3))) (neg.f64 (fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2))) (neg.f64 (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2) (*.f64 x x)) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) (*.f64 6 (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2)) (*.f64 (cbrt.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 36 (pow.f64 (-.f64 y x) 2))) (*.f64 (cbrt.f64 (*.f64 (-.f64 y x) 6)) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) 2) (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) (*.f64 6 (-.f64 2/3 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 2/3 z)) (*.f64 (sqrt.f64 (-.f64 2/3 z)) (*.f64 (-.f64 y x) 6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) 6)) (*.f64 (sqrt.f64 (*.f64 (-.f64 y x) 6)) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) (-.f64 2/3 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) (*.f64 6 (-.f64 2/3 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 2/3 z)) (-.f64 y x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (-.f64 y x) 6) (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2))) (cbrt.f64 (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (-.f64 y x) 6) (sqrt.f64 (-.f64 2/3 z))) (sqrt.f64 (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 2/3 z) (cbrt.f64 (*.f64 36 (pow.f64 (-.f64 y x) 2)))) (cbrt.f64 (*.f64 (-.f64 y x) 6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 2/3 z) (sqrt.f64 (*.f64 (-.f64 y x) 6))) (sqrt.f64 (*.f64 (-.f64 y x) 6)) x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 2/3 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2/3 (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 2/3 z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 2/3 z)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 2/3 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 2/3 z)) (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2)) (cbrt.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 2/3 z)) (sqrt.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 8/27 (pow.f64 z 3)) (/.f64 1 (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4/9 (*.f64 z z)) (/.f64 1 (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (-.f64 8/27 (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 2/3 z) (-.f64 4/9 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 8/27 (pow.f64 z 3)) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4/9 (*.f64 z z)) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 8/27 (pow.f64 z 3))) (neg.f64 (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 4/9 (*.f64 z z))) (neg.f64 (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8/27 (pow.f64 (neg.f64 z) 3)) (+.f64 4/9 (-.f64 (pow.f64 (neg.f64 z) 2) (*.f64 2/3 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4/9 (pow.f64 (neg.f64 z) 2)) (-.f64 2/3 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 2/3 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 2/3 z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 2/3 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 2/3 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (-.f64 8/27 (pow.f64 z 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 2/3 z) (-.f64 4/9 (*.f64 z z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 2/3 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 2/3 z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 2/3 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (neg.f64 (cbrt.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) 2/3)))))

simplify401.0ms (3.5%)

Algorithm
egg-herbie
Rules
5346×fma-neg_binary64
602×unsub-neg_binary64
524×fma-def_binary64
314×associate--r+_binary64
275×associate--r-_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0431556
11021496
22491211
3845983
42149965
54416965
65504965
76222965
86608965
96724965
106794965
116804965
126804965
136804965
146804965
157356965
167356965
177356965
Stop Event
node limit
Counts
264 → 186
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 4 (-.f64 y x))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 4 (-.f64 y x)) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
2/3
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
Outputs
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 4 (-.f64 y x))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(+.f64 (*.f64 4 (-.f64 y x)) (*.f64 -6 (*.f64 z (-.f64 y x))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (-.f64 y x) (fma.f64 -6 z 4))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(fma.f64 6 y (*.f64 -6 x))
(fma.f64 -6 x (*.f64 6 y))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (*.f64 6 y) (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(fma.f64 4 (-.f64 y x) x)
(fma.f64 y 4 (*.f64 x -3))
(fma.f64 x -3 (*.f64 y 4))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 (*.f64 6 y) (-.f64 2/3 z)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 6 (*.f64 (-.f64 2/3 z) y) x))
(+.f64 x (*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y))))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
2/3
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)

localize30.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z -6 4)
0.1b
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
Compiler

Compiled 24 to 13 computations (45.8% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
z
@0
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
1.0ms
y
@0
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
1.0ms
z
@-inf
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
1.0ms
x
@-inf
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
1.0ms
x
@0
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
489×unpow-prod-down_binary64
423×prod-diff_binary64
403×log-prod_binary64
313×exp-prod_binary64
253×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
119417
2242117
Stop Event
node limit
Counts
2 → 82
Calls
Call 1
Inputs
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
(fma.f64 z -6 4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (-.f64 y x) (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) (sqrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 2) 3) (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) (fma.f64 z -6 4)) 2) (*.f64 x x)) (fma.f64 (-.f64 y x) (fma.f64 z -6 4) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 2)) (cbrt.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))) (sqrt.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (fma.f64 z -6 4)) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 z -6 4)) (-.f64 y x)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4 (*.f64 z -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z -6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z -6 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z -6) 1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z -6 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z -6 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z -6 4)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z -6 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z -6 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z -6 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z -6 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z -6 4)) (pow.f64 (cbrt.f64 (fma.f64 z -6 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z -6 4)) 2) (cbrt.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z -6 4)) (sqrt.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 z -6 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 z -6 4) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 z -6 4) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 z -6 4) (cbrt.f64 (fma.f64 z -6 4))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 z -6 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 z -6 4) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 z -6 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 z -6 4))) 2) 3) (cbrt.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 z -6 4))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 z -6 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 z 3) -216) 64) (+.f64 (pow.f64 (*.f64 z -6) 2) (-.f64 16 (*.f64 (*.f64 z -6) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z -6) 2) 16) (fma.f64 z -6 -4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z -6 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z -6 4) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z -6 4) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z -6 4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z -6 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 z -6 4))) 2)) (cbrt.f64 (log.f64 (fma.f64 z -6 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 z -6 4)))) (sqrt.f64 (log.f64 (fma.f64 z -6 4))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z -6 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z -6 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z -6 4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z -6 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z -6 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z -6 4))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z -6 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z -6 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z -6 4)) 1) 1))))))

simplify262.0ms (2.3%)

Algorithm
egg-herbie
Rules
3047×fma-def_binary64
982×fma-neg_binary64
375×sub-neg_binary64
349×distribute-rgt-in_binary64
282×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032820
184622
2215454
3676454
41568454
52899454
64808454
75790454
86001454
96028454
106028454
116028454
126048454
136056454
146056454
Stop Event
node limit
Counts
130 → 100
Calls
Call 1
Inputs
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(+.f64 (*.f64 4 (-.f64 y x)) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
4
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
(*.f64 -6 z)
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
(*.f64 -6 z)
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
(+.f64 4 (*.f64 -6 z))
Outputs
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) x)
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) x)
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 (fma.f64 -6 z 4) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 (fma.f64 -6 z 4) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x)) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 (fma.f64 -6 z 4) y)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x)
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) x)
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 4 (*.f64 -6 z)))) x) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) x)
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 (+.f64 4 (*.f64 -6 z)) y))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(fma.f64 4 (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 -1 (*.f64 (+.f64 4 (*.f64 -6 z)) x) (fma.f64 (+.f64 4 (*.f64 -6 z)) y x))
(-.f64 (*.f64 (fma.f64 -6 z 4) y) (*.f64 x (fma.f64 -6 z 3)))
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(fma.f64 (fma.f64 -6 z 4) (-.f64 y x) x)
4
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(*.f64 -6 z)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(*.f64 -6 z)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)
(+.f64 4 (*.f64 -6 z))
(fma.f64 -6 z 4)

eval229.0ms (2%)

Compiler

Compiled 4659 to 2834 computations (39.2% saved)

prune129.0ms (1.1%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New27214286
Fresh000
Picked101
Done101
Total27414288
Error
0b
Counts
288 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
41.3b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
28.5b
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
1.4b
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) (*.f64 6 (-.f64 2/3 z))) x)
39.0b
(+.f64 x (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y x) 6) 3)) (-.f64 (/.f64 2 3) z)))
22.3b
(+.f64 (*.f64 4 (-.f64 y x)) x)
34.4b
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
0.4b
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
0.4b
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
7.7b
(fma.f64 (*.f64 (*.f64 (-.f64 y x) 6) (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2))) (cbrt.f64 (-.f64 2/3 z)) x)
28.5b
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
40.9b
(*.f64 -6 (*.f64 z (-.f64 y x)))
0.4b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z)))
22.2b
(fma.f64 x -3 (*.f64 y 4))
Compiler

Compiled 412 to 302 computations (26.7% saved)

localize50.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x)
0.0b
(*.f64 z (-.f64 y x))
0.0b
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
0.3b
(*.f64 -6 (*.f64 z (-.f64 y x)))
Compiler

Compiled 52 to 20 computations (61.5% saved)

series33.0ms (0.3%)

Counts
4 → 114
Calls

36 calls:

TimeVariablePointExpression
6.0ms
x
@0
(*.f64 -6 (*.f64 z (-.f64 y x)))
1.0ms
z
@0
(*.f64 -6 (*.f64 z (-.f64 y x)))
1.0ms
z
@inf
(*.f64 -6 (*.f64 z (-.f64 y x)))
1.0ms
x
@inf
(*.f64 -6 (*.f64 z (-.f64 y x)))
1.0ms
y
@0
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))

rewrite157.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
691×fma-def_binary64
680×log-prod_binary64
378×fma-neg_binary64
253×expm1-udef_binary64
253×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01246
127744
2399742
Stop Event
node limit
Counts
4 → 200
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 -6 z)) (*.f64 (neg.f64 x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -6 z) y) (*.f64 (*.f64 -6 z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -6 z) (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -6 z) (-.f64 (*.f64 y y) (*.f64 x x))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -6 z) (*.f64 (neg.f64 x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 z) y (*.f64 (*.f64 -6 z) (neg.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))) (/.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2) (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) (sqrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3)) (/.f64 1 (fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)) (*.f64 16 (pow.f64 (-.f64 y x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2)) (/.f64 1 (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)) (*.f64 16 (pow.f64 (-.f64 y x) 2))) (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3)) (fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)) (*.f64 16 (pow.f64 (-.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3)) (+.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2) (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (*.f64 (-.f64 y x) (*.f64 4 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2)) (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3))) (neg.f64 (fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)) (*.f64 16 (pow.f64 (-.f64 y x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2))) (neg.f64 (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) 3) (pow.f64 x 3)) (fma.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) (-.f64 (*.f64 x x) (*.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2) (*.f64 16 (pow.f64 (-.f64 y x) 2))) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) (neg.f64 (*.f64 x x))) (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (-.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4)) (*.f64 16 (pow.f64 (-.f64 y x) 2))) (fma.f64 64 (pow.f64 (-.f64 y x) 3) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (-.f64 (*.f64 16 (pow.f64 (-.f64 y x) 2)) (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (*.f64 (pow.f64 (exp.f64 4) (-.f64 y x)) (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (*.f64 (pow.f64 (exp.f64 4) (-.f64 y x)) (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) 4))) (exp.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 4) (-.f64 y x)) (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) 4))) (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))) (pow.f64 (exp.f64 4) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 4) (-.f64 y x)) (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 4) (-.f64 y x)) (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -6 (*.f64 z (-.f64 y x)) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 (-.f64 y x) -6) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 4 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) (*.f64 -6 z) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 y x)) -6 (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 1 (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 4 (-.f64 y x) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) 4) 1 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 1 (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y x) (*.f64 -6 z)) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y x) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 2) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 2) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 2) (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) 4)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) 4)) 2) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) 4)) 2) (cbrt.f64 (*.f64 (-.f64 y x) 4)) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) 2) (*.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) -6) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (sqrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (sqrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) 4) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (-.f64 y x))) (*.f64 2 (sqrt.f64 (-.f64 y x))) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 y x))) (*.f64 (sqrt.f64 (*.f64 z (-.f64 y x))) -6) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2))) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 z) (-.f64 y x) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)))) (cbrt.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))) (cbrt.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)))) (sqrt.f64 (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (-.f64 y x)) z (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) 2)) (cbrt.f64 (*.f64 z (-.f64 y x))) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (sqrt.f64 (*.f64 z (-.f64 y x)))) (sqrt.f64 (*.f64 z (-.f64 y x))) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) 1) (-.f64 y x) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) (+.f64 x (*.f64 (-.f64 y x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 4 (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 4 (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 y x))) (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 y x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 y x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) z) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (fma.f64 x (+.f64 y x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 y y) (*.f64 x x))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 y x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 (neg.f64 x) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) (sqrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2)) (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x) (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2)) (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2)) (fma.f64 -216 (pow.f64 (*.f64 z (-.f64 y x)) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) x) (-.f64 (pow.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 z) (-.f64 y x)) -6) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y x) (*.f64 -6 z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -6 (*.f64 z (-.f64 y x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 (-.f64 y x) -6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) (*.f64 -6 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 y x)) -6 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y x) (*.f64 -6 z)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y x) (*.f64 -6 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) 2) (cbrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) 2) (*.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) -6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) (sqrt.f64 (*.f64 (-.f64 y x) (*.f64 -6 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y x) (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 y x))) (*.f64 (sqrt.f64 (*.f64 z (-.f64 y x))) -6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 z) (-.f64 y x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (-.f64 y x)) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 y x))) 2)) (cbrt.f64 (*.f64 z (-.f64 y x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (sqrt.f64 (*.f64 z (-.f64 y x)))) (sqrt.f64 (*.f64 z (-.f64 y x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) 1) (-.f64 y x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) (pow.f64 (cbrt.f64 (-.f64 y x)) 2)) (cbrt.f64 (-.f64 y x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -6 z) (sqrt.f64 (-.f64 y x))) (sqrt.f64 (-.f64 y x)) x)))))

simplify309.0ms (2.7%)

Algorithm
egg-herbie
Rules
2942×fma-neg_binary64
909×fma-def_binary64
432×unsub-neg_binary64
378×sub-neg_binary64
361×distribute-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0601376
11671313
24261126
311491018
428421018
547761018
659611018
761071018
861091018
961091018
1061811018
1162141018
1262141018
Stop Event
node limit
Counts
314 → 238
Calls
Call 1
Inputs
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 (-.f64 y x) z)
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
x
(*.f64 -6 (*.f64 z (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
Outputs
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(fma.f64 -4 x (fma.f64 6 (*.f64 z x) x))
(+.f64 x (*.f64 x (fma.f64 6 z -4)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 (+.f64 4 (*.f64 -6 z)) y) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 6 z) 4))) x)))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(fma.f64 -4 x (fma.f64 6 (*.f64 z x) x))
(+.f64 x (*.f64 x (fma.f64 6 z -4)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 (-.f64 (*.f64 6 z) 3) x) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(fma.f64 -4 x (fma.f64 6 (*.f64 z x) x))
(+.f64 x (*.f64 x (fma.f64 6 z -4)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x)) (*.f64 -6 (*.f64 y z))))
(fma.f64 6 (*.f64 z x) (fma.f64 -4 x (fma.f64 (+.f64 4 (*.f64 z -6)) y x)))
(+.f64 (fma.f64 y (fma.f64 z -6 4) x) (*.f64 x (fma.f64 6 z -4)))
(fma.f64 y (fma.f64 z -6 4) (*.f64 x (fma.f64 6 z -3)))
(fma.f64 (fma.f64 6 z -4) (-.f64 x y) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(fma.f64 4 (-.f64 y x) x)
(fma.f64 x -3 (*.f64 y 4))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 x (neg.f64 z))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 x (neg.f64 z))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 x (neg.f64 z))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 z x)))
(*.f64 z (-.f64 y x))
x
(*.f64 -6 (*.f64 z (-.f64 y x)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 6 (*.f64 z x)) x)
(fma.f64 6 (*.f64 z x) x)
(*.f64 x (fma.f64 6 z 1))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(fma.f64 6 (*.f64 z x) x)
(*.f64 x (fma.f64 6 z 1))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(fma.f64 6 (*.f64 z x) x)
(*.f64 x (fma.f64 6 z 1))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 y x))))
(fma.f64 z (*.f64 -6 (-.f64 y x)) x)

localize18.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 y x))
0.3b
(*.f64 -6 (*.f64 z (-.f64 y x)))
Compiler

Compiled 22 to 8 computations (63.6% saved)

localize28.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 3 (*.f64 -6 z))
0.1b
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
Compiler

Compiled 32 to 24 computations (25% saved)

series12.0ms (0.1%)

Counts
2 → 15
Calls

9 calls:

TimeVariablePointExpression
5.0ms
x
@inf
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
2.0ms
x
@0
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
1.0ms
z
@0
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
1.0ms
z
@inf
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
1.0ms
x
@-inf
(*.f64 (+.f64 3 (*.f64 -6 z)) x)

rewrite89.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
844×pow1_binary64
789×add-log-exp_binary64
789×log1p-expm1-u_binary64
789×expm1-log1p-u_binary64
776×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
117013
2207513
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(*.f64 (+.f64 3 (*.f64 -6 z)) x)
(+.f64 3 (*.f64 -6 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 x) (*.f64 (*.f64 -6 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -6 z) x) (*.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3) (*.f64 x (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 -6 z)) (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 -6 z 3) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) x) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) x) (+.f64 3 (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 27 (*.f64 -216 (pow.f64 z 3)))) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 9 (*.f64 36 (*.f64 z z)))) (+.f64 3 (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 -6 z 3) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 -6 z 3) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 -6 z 3) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 -6 z 3) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 -6 z 3) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 -6 z 3)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 -6 z 3) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -6 z 3) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 -6 z 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 -6 z 3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 -6 z 3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 -6 z 3) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 -6 z 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 9 (+.f64 3 (*.f64 6 z))) (/.f64 (*.f64 36 (*.f64 z z)) (+.f64 3 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -6 z 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -6 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -6 z 3)) (pow.f64 (cbrt.f64 (fma.f64 -6 z 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -6 z 3)) 2) (cbrt.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -6 z 3)) (sqrt.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) (/.f64 1 (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) (/.f64 1 (+.f64 3 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z))) (+.f64 27 (*.f64 -216 (pow.f64 z 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 3 (*.f64 6 z)) (-.f64 9 (*.f64 36 (*.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) (+.f64 (*.f64 36 (*.f64 z z)) (-.f64 9 (*.f64 -18 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) (+.f64 3 (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3)))) (neg.f64 (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 9 (*.f64 36 (*.f64 z z)))) (neg.f64 (+.f64 3 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 36 (*.f64 z z)) 9) (-.f64 (*.f64 -6 z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -6 z 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -6 z 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -6 z 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -6 z 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -6 z 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -6 z 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -6 z 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z -6 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -6 z) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -6 z)) 2) (cbrt.f64 (*.f64 -6 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -6 z)) (sqrt.f64 (*.f64 -6 z)) 3)))))

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Rules
11×fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
010126
117117
23199
34099
Stop Event
saturated
Counts
68 → 60
Calls
Call 1
Inputs
(*.f64 3 x)
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
3
(*.f64 -6 z)
(*.f64 -6 z)
Outputs
(*.f64 3 x)
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 x (*.f64 -6 z))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 x (*.f64 -6 z))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
(+.f64 (*.f64 3 x) (*.f64 -6 (*.f64 z x)))
(fma.f64 3 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 3 (*.f64 -6 z)))
(*.f64 x (fma.f64 -6 z 3))
3
(*.f64 -6 z)
(*.f64 -6 z)

localize53.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 2 3) z)
0.0b
(+.f64 (*.f64 6 y) (*.f64 -6 x))
0.0b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z)))
0.3b
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
Compiler

Compiled 59 to 44 computations (25.4% saved)

series20.0ms (0.2%)

Counts
3 → 78
Calls

24 calls:

TimeVariablePointExpression
3.0ms
z
@inf
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
1.0ms
y
@0
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
1.0ms
z
@0
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
1.0ms
x
@0
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
1.0ms
y
@inf
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))

rewrite131.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
707×log-prod_binary64
536×fma-def_binary64
289×expm1-udef_binary64
289×log1p-udef_binary64
263×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01639
133437
2434637
Stop Event
node limit
Counts
3 → 156
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z))
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z)))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (fma.f64 6 y (*.f64 -6 x))) (*.f64 (neg.f64 z) (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 y) (-.f64 2/3 z)) (*.f64 (*.f64 -6 x) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -6 x) (-.f64 2/3 z)) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) 2/3) (*.f64 (fma.f64 6 y (*.f64 -6 x)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 2/3 z) (*.f64 6 y)) (*.f64 (-.f64 2/3 z) (*.f64 -6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 2/3 z) (*.f64 -6 x)) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (-.f64 8/27 (pow.f64 z 3))) (*.f64 (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)) (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36)) (-.f64 8/27 (pow.f64 z 3))) (*.f64 (fma.f64 6 y (*.f64 6 x)) (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (-.f64 4/9 (*.f64 z z))) (*.f64 (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)) (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36)) (-.f64 4/9 (*.f64 z z))) (*.f64 (fma.f64 6 y (*.f64 6 x)) (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3)))) (*.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3)))) (*.f64 (+.f64 2/3 z) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36))) (*.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (fma.f64 6 y (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36))) (*.f64 (+.f64 2/3 z) (fma.f64 6 y (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (-.f64 2/3 z)) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36)) (-.f64 2/3 z)) (fma.f64 6 y (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (fma.f64 6 y (*.f64 -6 x))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (fma.f64 6 y (*.f64 -6 x))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 2/3 z) (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3)))) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 2/3 z) (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36))) (fma.f64 6 y (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) (-.f64 2/3 z) (*.f64 (*.f64 -6 x) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 x) (-.f64 2/3 z) (*.f64 (*.f64 6 y) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 6 y (*.f64 -6 x)) 2/3 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 (fma.f64 6 y (*.f64 -6 x)) (*.f64 (neg.f64 z) (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) (*.f64 6 y) (*.f64 (-.f64 2/3 z) (*.f64 -6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) (*.f64 -6 x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))) (/.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2) (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)) (cbrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 2)) (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)) (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3)) (/.f64 1 (fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) (-.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2)) (/.f64 1 (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) (-.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3)) (fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) (-.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2)) (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 3))) (neg.f64 (fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) (-.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2))) (neg.f64 (-.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 2) (*.f64 x x)) (-.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) (fma.f64 6 y (*.f64 -6 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) 2) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 2/3 z)) 2) (*.f64 (cbrt.f64 (-.f64 2/3 z)) (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2) (*.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 6 y (*.f64 -6 x)) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 2/3 z)) (*.f64 (sqrt.f64 (-.f64 2/3 z)) (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) (*.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (pow.f64 (cbrt.f64 (-.f64 2/3 z)) 2)) (cbrt.f64 (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (sqrt.f64 (-.f64 2/3 z))) (sqrt.f64 (-.f64 2/3 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 2/3 z) (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2)) (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 2/3 z) (sqrt.f64 (fma.f64 6 y (*.f64 -6 x)))) (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) x)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 6 y (*.f64 -6 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 y y) 36) (fma.f64 6 y (*.f64 6 x))) (/.f64 (*.f64 (*.f64 x x) 36) (fma.f64 6 y (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 6 y (*.f64 -6 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 6 y (*.f64 -6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2) (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36)) (/.f64 1 (fma.f64 6 y (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)) (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 6 y (*.f64 6 x)) (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3))) (fma.f64 (*.f64 x x) 36 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 6 (*.f64 y (*.f64 -6 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36)) (fma.f64 6 y (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 y 3) 216 (*.f64 -216 (pow.f64 x 3)))) (neg.f64 (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (*.f64 (*.f64 y y) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (*.f64 y y) 36) (*.f64 (*.f64 x x) 36))) (neg.f64 (fma.f64 6 y (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 36) (*.f64 (*.f64 y y) 36)) (-.f64 (*.f64 -6 x) (*.f64 6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 6 y (*.f64 -6 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 6 y (*.f64 -6 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 6 y (*.f64 -6 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 6 y (*.f64 -6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (pow.f64 (exp.f64 x) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) 6) (+.f64 1 (expm1.f64 (*.f64 -6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (+.f64 1 (expm1.f64 (*.f64 -6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -6 x))) (pow.f64 (exp.f64 y) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) -6) (+.f64 1 (expm1.f64 (*.f64 6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -6 x))) (+.f64 1 (expm1.f64 (*.f64 6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 6 y (*.f64 -6 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 6 y (*.f64 -6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 6 y (*.f64 -6 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) 1 (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -6 x (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -6 (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 x) 1 (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 y) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -6 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -6) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) 6) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -6 x)) (pow.f64 (cbrt.f64 (*.f64 -6 x)) 2) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -6 x)) 2) (cbrt.f64 (*.f64 -6 x)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 y)) (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (cbrt.f64 (*.f64 6 y)) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -6) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 6) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -6 x)) (sqrt.f64 (*.f64 -6 x)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 y)) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 -6 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 -6 x))))))

simplify463.0ms (4%)

Algorithm
egg-herbie
Rules
5082×fma-neg_binary64
729×fma-def_binary64
425×associate--r+_binary64
419×unsub-neg_binary64
411×sub-neg_binary64
Iterations

Useful iterations: 17 (0.0ms)

IterNodesCost
0411389
11091328
2328995
3884854
42413854
54363853
65386853
75939853
86179853
96306853
106378853
116410853
126410853
136410853
147027853
157067853
167067853
177067796
Stop Event
node limit
Counts
234 → 182
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x)))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(*.f64 -6 x)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 -6 x)
(*.f64 -6 x)
Outputs
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x)))
(*.f64 2/3 (fma.f64 6 y (*.f64 -6 x)))
(+.f64 (*.f64 x -4) (*.f64 y 4))
(fma.f64 x -4 (*.f64 y 4))
(fma.f64 y 4 (*.f64 x -4))
(*.f64 4 (-.f64 y x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(neg.f64 (*.f64 z (fma.f64 6 y (*.f64 -6 x))))
(*.f64 z (neg.f64 (fma.f64 -6 x (*.f64 6 y))))
(*.f64 (*.f64 -6 z) (-.f64 y x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(neg.f64 (*.f64 z (fma.f64 6 y (*.f64 -6 x))))
(*.f64 z (neg.f64 (fma.f64 -6 x (*.f64 6 y))))
(*.f64 (*.f64 -6 z) (-.f64 y x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (*.f64 (-.f64 2/3 z) (*.f64 6 y)))
(*.f64 (-.f64 2/3 z) (fma.f64 -6 x (*.f64 6 y)))
(*.f64 (fma.f64 -6 z 4) (-.f64 y x))
(*.f64 (fma.f64 z 6 -4) (-.f64 x y))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 -3 (*.f64 z 6)))
(fma.f64 x (fma.f64 z 6 -4) x)
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 -3 (*.f64 z 6)))
(fma.f64 x (fma.f64 z 6 -4) x)
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 x (+.f64 1 (*.f64 -6 (-.f64 2/3 z))))
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 -3 (*.f64 z 6)))
(fma.f64 x (fma.f64 z 6 -4) x)
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 6 (*.f64 (-.f64 2/3 z) y))
(*.f64 (-.f64 2/3 z) (*.f64 6 y))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(fma.f64 2/3 (fma.f64 6 y (*.f64 -6 x)) x)
(fma.f64 2/3 (fma.f64 -6 x (*.f64 6 y)) x)
(fma.f64 y 4 (*.f64 -3 x))
(fma.f64 y 4 (*.f64 x -3))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(neg.f64 (*.f64 z (fma.f64 6 y (*.f64 -6 x))))
(*.f64 z (neg.f64 (fma.f64 -6 x (*.f64 6 y))))
(*.f64 (*.f64 -6 z) (-.f64 y x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(neg.f64 (*.f64 z (fma.f64 6 y (*.f64 -6 x))))
(*.f64 z (neg.f64 (fma.f64 -6 x (*.f64 6 y))))
(*.f64 (*.f64 -6 z) (-.f64 y x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) (+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))))
(fma.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x (*.f64 6 (*.f64 (-.f64 2/3 z) y)))
(fma.f64 -6 (*.f64 (-.f64 2/3 z) x) (fma.f64 (*.f64 6 y) (-.f64 2/3 z) x))
(fma.f64 (fma.f64 -6 x (*.f64 6 y)) (-.f64 2/3 z) x)
(+.f64 x (*.f64 (fma.f64 -6 z 4) (-.f64 y x)))
(fma.f64 (-.f64 2/3 z) (*.f64 6 (-.f64 y x)) x)
(fma.f64 (-.f64 2/3 z) (*.f64 -6 (-.f64 x y)) x)
(fma.f64 (fma.f64 z 6 -4) (-.f64 x y) x)
(*.f64 -6 x)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 -6 x)
(*.f64 -6 x)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 2/3 z)
0.2b
(*.f64 (-.f64 2/3 z) (-.f64 y x))
0.2b
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
Compiler

Compiled 31 to 16 computations (48.4% saved)

series8.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
1.0ms
z
@0
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
0.0ms
y
@0
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
0.0ms
y
@inf
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
0.0ms
z
@inf
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)

rewrite82.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
501×log-prod_binary64
471×prod-diff_binary64
347×pow-prod-down_binary64
298×pow2_binary64
237×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
122328
2297228
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
(*.f64 (-.f64 2/3 z) (-.f64 y x))
(-.f64 2/3 z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) 2) (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) (sqrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)) 2) (*.f64 x x)) (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 2/3 z) (*.f64 (-.f64 y x) 6) x))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 2/3 z) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 (neg.f64 x) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (-.f64 y x)) (*.f64 (neg.f64 z) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 2/3 z) y) (*.f64 (-.f64 2/3 z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 2/3) (*.f64 (-.f64 y x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (-.f64 y x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (-.f64 y x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (*.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (fma.f64 y y (*.f64 x (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (*.f64 (+.f64 2/3 z) (fma.f64 y y (*.f64 x (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (-.f64 (*.f64 y y) (*.f64 x x))) (*.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (-.f64 (*.f64 y y) (*.f64 x x))) (*.f64 (+.f64 2/3 z) (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 8/27 (pow.f64 z 3))) (*.f64 (fma.f64 y y (*.f64 x (+.f64 y x))) (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 8/27 (pow.f64 z 3))) (*.f64 (+.f64 y x) (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 4/9 (*.f64 z z))) (*.f64 (fma.f64 y y (*.f64 x (+.f64 y x))) (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 4/9 (*.f64 z z))) (*.f64 (+.f64 y x) (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) (-.f64 y x)) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) (-.f64 y x)) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 2/3 z)) (fma.f64 y y (*.f64 x (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 2/3 z)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 2/3 z) (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (fma.f64 y y (*.f64 x (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 2/3 z) (-.f64 (*.f64 y y) (*.f64 x x))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 (-.f64 y x) (*.f64 (neg.f64 z) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) y (*.f64 (-.f64 2/3 z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 2/3 z) (*.f64 (neg.f64 x) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 2/3 (*.f64 (-.f64 y x) (neg.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 2/3 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2/3 (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 2/3 z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 2/3 z)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 2/3 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 2/3 z)) (pow.f64 (cbrt.f64 (-.f64 2/3 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 2/3 z)) 2) (cbrt.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 2/3 z)) (sqrt.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 8/27 (pow.f64 z 3)) (/.f64 1 (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4/9 (*.f64 z z)) (/.f64 1 (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (-.f64 8/27 (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 2/3 z) (-.f64 4/9 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 8/27 (pow.f64 z 3)) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4/9 (*.f64 z z)) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 8/27 (pow.f64 z 3))) (neg.f64 (fma.f64 z (+.f64 2/3 z) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 4/9 (*.f64 z z))) (neg.f64 (+.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8/27 (pow.f64 (neg.f64 z) 3)) (+.f64 4/9 (-.f64 (pow.f64 (neg.f64 z) 2) (*.f64 2/3 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4/9 (pow.f64 (neg.f64 z) 2)) (-.f64 2/3 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 2/3 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 2/3 z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 2/3 z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 2/3 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 2/3 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z (+.f64 2/3 z) 4/9) (-.f64 8/27 (pow.f64 z 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 2/3 z) (-.f64 4/9 (*.f64 z z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 2/3 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 2/3 z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 2/3 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 2/3 z))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 2/3 z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 2/3 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) 2/3)))))

simplify334.0ms (2.9%)

Algorithm
egg-herbie
Rules
5401×fma-def_binary64
590×unsub-neg_binary64
517×fma-neg_binary64
335×associate--r+_binary64
311×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0431152
1109909
2302852
31113776
42761776
55322776
66356776
76856776
86990776
97010776
107010776
117010776
127010776
137013776
147464776
157464776
Stop Event
node limit
Counts
208 → 155
Calls
Call 1
Inputs
(+.f64 (*.f64 4 (-.f64 y x)) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(*.f64 2/3 (-.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(*.f64 -1 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(*.f64 -1 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
2/3
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
(+.f64 (*.f64 -1 z) 2/3)
Outputs
(+.f64 (*.f64 4 (-.f64 y x)) x)
(fma.f64 4 (-.f64 y x) x)
(fma.f64 4 y (*.f64 x -3))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(*.f64 -6 (*.f64 (-.f64 y x) z))
(*.f64 (-.f64 y x) (*.f64 -6 z))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(*.f64 -6 (*.f64 (-.f64 y x) z))
(*.f64 (-.f64 y x) (*.f64 -6 z))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(fma.f64 -6 (*.f64 x (-.f64 2/3 z)) x)
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (*.f64 y 6))
(*.f64 y (fma.f64 6 (neg.f64 z) 4))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (*.f64 y 6))
(*.f64 y (fma.f64 6 (neg.f64 z) 4))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (*.f64 y 6))
(*.f64 y (fma.f64 6 (neg.f64 z) 4))
(*.f64 y (fma.f64 -6 z 4))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(fma.f64 -6 (*.f64 x (-.f64 2/3 z)) x)
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x))
(fma.f64 -6 (*.f64 x (-.f64 2/3 z)) x)
(*.f64 x (fma.f64 -6 (-.f64 2/3 z) 1))
(*.f64 x (+.f64 (*.f64 z 6) -3))
(*.f64 x (fma.f64 z 6 -3))
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) (*.f64 -1 (*.f64 (-.f64 (*.f64 6 (-.f64 2/3 z)) 1) x)))
(fma.f64 4 (-.f64 y x) (fma.f64 -6 (*.f64 (-.f64 y x) z) x))
(+.f64 x (*.f64 (-.f64 y x) (+.f64 4 (*.f64 -6 z))))
(fma.f64 (-.f64 y x) (fma.f64 6 (neg.f64 z) 4) x)
(fma.f64 (-.f64 y x) (fma.f64 -6 z 4) x)
(*.f64 2/3 (-.f64 y x))
(*.f64 (-.f64 y x) 2/3)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 -1 (*.f64 z (-.f64 y x)))
(*.f64 (neg.f64 z) (-.f64 y x))
(*.f64 (-.f64 y x) (neg.f64 z))
(*.f64 z (-.f64 x y))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 -1 (*.f64 z (-.f64 y x)))
(*.f64 (neg.f64 z) (-.f64 y x))
(*.f64 (-.f64 y x) (neg.f64 z))
(*.f64 z (-.f64 x y))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y x))) (*.f64 2/3 (-.f64 y x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(neg.f64 (*.f64 x (-.f64 2/3 z)))
(*.f64 x (neg.f64 (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (neg.f64 x))
(*.f64 x (-.f64 z 2/3))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(neg.f64 (*.f64 x (-.f64 2/3 z)))
(*.f64 x (neg.f64 (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (neg.f64 x))
(*.f64 x (-.f64 z 2/3))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(*.f64 -1 (*.f64 (-.f64 2/3 z) x))
(neg.f64 (*.f64 x (-.f64 2/3 z)))
(*.f64 x (neg.f64 (-.f64 2/3 z)))
(*.f64 (-.f64 2/3 z) (neg.f64 x))
(*.f64 x (-.f64 z 2/3))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
(+.f64 (*.f64 y (-.f64 2/3 z)) (*.f64 -1 (*.f64 (-.f64 2/3 z) x)))
(fma.f64 -1 (*.f64 (-.f64 y x) z) (*.f64 (-.f64 y x) 2/3))
(*.f64 (-.f64 y x) (-.f64 2/3 z))
2/3
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)
(+.f64 (*.f64 -1 z) 2/3)
(-.f64 2/3 z)

eval301.0ms (2.6%)

Compiler

Compiled 13207 to 7873 computations (40.4% saved)

prune141.0ms (1.2%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New72816744
Fresh729
Picked101
Done404
Total74018758
Error
0b
Counts
758 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
28.5b
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
52.2b
(*.f64 -6 (/.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x)))
22.5b
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
41.3b
(*.f64 -1 (*.f64 3 x))
50.0b
(*.f64 6 (*.f64 z x))
0.4b
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
50.0b
(*.f64 x (*.f64 6 z))
28.6b
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
34.6b
(*.f64 -1 (/.f64 (*.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) x) (+.f64 3 (*.f64 6 z))))
40.8b
(*.f64 z (*.f64 -6 (-.f64 y x)))
28.5b
(*.f64 (-.f64 (*.f64 6 z) 3) x)
53.3b
(*.f64 z (*.f64 -6 y))
53.3b
(*.f64 -6 (*.f64 z y))
22.3b
(+.f64 (*.f64 4 (-.f64 y x)) x)
34.4b
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
41.3b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
22.2b
(fma.f64 x -3 (*.f64 y 4))
38.4b
(*.f64 -1 (/.f64 (*.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) x) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z)))))
Compiler

Compiled 456 to 344 computations (24.6% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
0.2b
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
0.2b
(*.f64 (-.f64 2/3 z) x)
0.2b
(*.f64 y (-.f64 2/3 z))
Compiler

Compiled 62 to 42 computations (32.3% saved)

series10.0ms (0.1%)

Counts
4 → 48
Calls

24 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 y (-.f64 2/3 z))
1.0ms
x
@-inf
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
0.0ms
y
@inf
(*.f64 y (-.f64 2/3 z))
0.0ms
z
@inf
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
0.0ms
y
@0
(*.f64 6 (*.f64 y (-.f64 2/3 z)))

rewrite80.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
606×log-prod_binary64
361×pow-prod-down_binary64
320×pow2_binary64
231×pow-unpow_binary64
225×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01234
125534
2309834
Stop Event
node limit
Counts
4 → 106
Calls
Call 1
Inputs
(*.f64 y (-.f64 2/3 z))
(*.f64 (-.f64 2/3 z) x)
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 -6 (*.f64 (-.f64 2/3 z) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 y) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 2/3) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y (-.f64 2/3 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) y) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) y) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 2/3 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 2/3 z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 2/3 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 2/3 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 2/3 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 2/3 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 2/3 z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (-.f64 2/3 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 2/3 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (-.f64 2/3 z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 y (-.f64 2/3 z)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (-.f64 2/3 z)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (-.f64 2/3 z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (-.f64 2/3 z))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 2/3 (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 y (*.f64 (neg.f64 z) y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 2/3 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 x) (*.f64 (neg.f64 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 2/3) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 2/3 z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 2/3 z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 8/27 (pow.f64 z 3)) x) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4/9 (*.f64 z z)) x) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 2/3 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 2/3 z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 2/3 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 2/3 z) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 x (*.f64 (neg.f64 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 2/3 (*.f64 x (neg.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (*.f64 y 6)) (*.f64 (neg.f64 z) (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y 6) 2/3) (*.f64 (*.f64 y 6) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) 6) (-.f64 2/3 z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) 6) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) 6) (-.f64 2/3 z)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) 6) (-.f64 2/3 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y 6) (-.f64 8/27 (pow.f64 z 3))) (fma.f64 z (+.f64 2/3 z) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y 6) (-.f64 4/9 (*.f64 z z))) (+.f64 2/3 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 y) 6) (-.f64 2/3 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 y 6))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2/3 (*.f64 y 6) (*.f64 (neg.f64 z) (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 6) 2/3 (*.f64 (*.f64 y 6) (neg.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 (-.f64 2/3 z) -6))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 (-.f64 2/3 z) -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 (-.f64 2/3 z) -6)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 (-.f64 2/3 z) -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 (-.f64 2/3 z) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 2/3 z) (*.f64 x -6))) 1) 1))))))

simplify74.0ms (0.6%)

Algorithm
egg-herbie
Rules
830×fma-def_binary64
230×fma-neg_binary64
134×associate-*l*_binary64
116×associate-*r*_binary64
100×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
025455
153428
2113356
3166338
4212338
5301338
6469338
7640338
81068338
92143338
102390338
112414338
122414338
Stop Event
saturated
Counts
154 → 129
Calls
Call 1
Inputs
(*.f64 2/3 y)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(*.f64 2/3 x)
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(*.f64 4 y)
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(*.f64 -4 x)
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
Outputs
(*.f64 2/3 y)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 2/3 y))
(fma.f64 -1 (*.f64 y z) (*.f64 2/3 y))
(-.f64 (*.f64 2/3 y) (*.f64 y z))
(*.f64 y (-.f64 2/3 z))
(*.f64 2/3 x)
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(+.f64 (*.f64 2/3 x) (*.f64 -1 (*.f64 z x)))
(fma.f64 2/3 x (neg.f64 (*.f64 z x)))
(*.f64 x (+.f64 2/3 (neg.f64 z)))
(*.f64 x (-.f64 2/3 z))
(*.f64 4 y)
(*.f64 y 4)
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(*.f64 -6 (*.f64 y z))
(*.f64 (*.f64 y z) -6)
(*.f64 y (*.f64 z -6))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(*.f64 -6 (*.f64 y z))
(*.f64 (*.f64 y z) -6)
(*.f64 y (*.f64 z -6))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 4 y) (*.f64 -6 (*.f64 y z)))
(fma.f64 4 y (*.f64 (*.f64 y z) -6))
(fma.f64 y 4 (*.f64 y (*.f64 z -6)))
(*.f64 y (+.f64 4 (*.f64 z -6)))
(*.f64 y (fma.f64 z -6 4))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -4 x))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(*.f64 6 (*.f64 z x))
(*.f64 (*.f64 z x) 6)
(*.f64 z (*.f64 x 6))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(*.f64 6 (*.f64 z x))
(*.f64 (*.f64 z x) 6)
(*.f64 z (*.f64 x 6))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))
(+.f64 (*.f64 -4 x) (*.f64 6 (*.f64 z x)))
(fma.f64 6 (*.f64 z x) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 z 6)))
(*.f64 x (fma.f64 z 6 -4))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 -6 (*.f64 z y))
Compiler

Compiled 14 to 7 computations (50% saved)

series8.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
5.0ms
y
@inf
(*.f64 -6 (*.f64 z y))
1.0ms
z
@0
(*.f64 -6 (*.f64 z y))
1.0ms
z
@inf
(*.f64 -6 (*.f64 z y))
1.0ms
y
@0
(*.f64 -6 (*.f64 z y))
0.0ms
y
@-inf
(*.f64 -6 (*.f64 z y))

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
555×pow1_binary64
513×add-log-exp_binary64
513×log1p-expm1-u_binary64
513×expm1-log1p-u_binary64
503×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213967
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -6 (*.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -6 (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -6 (*.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -6 (*.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -6 (*.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 z y) 2) 36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -6) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -6 (*.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -6 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -6 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -6 (*.f64 z y))))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
110168
217168
319168
Stop Event
saturated
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
Outputs
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (*.f64 -6 y))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
z
@0
(*.f64 z (*.f64 -6 y))
0.0ms
z
@inf
(*.f64 z (*.f64 -6 y))
0.0ms
y
@-inf
(*.f64 z (*.f64 -6 y))
0.0ms
z
@-inf
(*.f64 z (*.f64 -6 y))
0.0ms
y
@inf
(*.f64 z (*.f64 -6 y))

rewrite45.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
555×pow1_binary64
513×add-log-exp_binary64
513×log1p-expm1-u_binary64
513×expm1-log1p-u_binary64
503×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213967
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 z (*.f64 -6 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (*.f64 -6 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 -6 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 -6 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 -6 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (*.f64 -6 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (*.f64 -6 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (*.f64 -6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (*.f64 -6 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (*.f64 -6 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (*.f64 -6 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (*.f64 -6 y))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
110168
217168
319168
Stop Event
saturated
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
Outputs
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 y z))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 4 (-.f64 y x)) x)
Compiler

Compiled 21 to 10 computations (52.4% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (*.f64 4 (-.f64 y x)) x)
0.0ms
y
@inf
(+.f64 (*.f64 4 (-.f64 y x)) x)
0.0ms
x
@inf
(+.f64 (*.f64 4 (-.f64 y x)) x)
0.0ms
y
@-inf
(+.f64 (*.f64 4 (-.f64 y x)) x)
0.0ms
x
@-inf
(+.f64 (*.f64 4 (-.f64 y x)) x)

rewrite61.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
928×pow1_binary64
868×add-log-exp_binary64
868×log1p-expm1-u_binary64
868×expm1-log1p-u_binary64
851×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11628
223068
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 (*.f64 4 (-.f64 y x)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 4 (-.f64 y x) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (-.f64 (*.f64 4 (-.f64 y x)) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 4 (-.f64 y x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 4 (-.f64 y x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 4 (-.f64 y x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 4 (-.f64 y x) x)) (pow.f64 (cbrt.f64 (fma.f64 4 (-.f64 y x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 4 (-.f64 y x) x)) 2) (cbrt.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 4 (-.f64 y x) x)) (sqrt.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (*.f64 (pow.f64 (-.f64 y x) 3) 64)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x (-.f64 x (*.f64 4 (-.f64 y x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 4 (-.f64 y x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x (-.f64 x (*.f64 4 (-.f64 y x))))) (+.f64 (pow.f64 x 3) (*.f64 (pow.f64 (-.f64 y x) 3) 64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 4 (-.f64 y x)) x) (-.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (*.f64 (pow.f64 (-.f64 y x) 3) 64)) (+.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x (-.f64 x (*.f64 4 (-.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (*.f64 (pow.f64 (-.f64 y x) 3) 64)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 4 (*.f64 (-.f64 y x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x x)) (-.f64 (*.f64 4 (-.f64 y x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (*.f64 (pow.f64 (-.f64 y x) 3) 64))) (neg.f64 (+.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x (-.f64 x (*.f64 4 (-.f64 y x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 4 (-.f64 y x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (pow.f64 (-.f64 y x) 2) 16)) (-.f64 x (*.f64 4 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 4 (-.f64 y x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 4 (-.f64 y x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 4 (-.f64 y x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 4 (-.f64 y x) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 4 (-.f64 y x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 4 (-.f64 y x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 4 (-.f64 y x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 4 (-.f64 y x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 4 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 4 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 4 (-.f64 y x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 16)) (cbrt.f64 (*.f64 4 (-.f64 y x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 4 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 y x)) 2) (*.f64 (sqrt.f64 (-.f64 y x)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 4 (-.f64 y x)))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012168
124168
238168
346168
Stop Event
saturated
Counts
59 → 42
Calls
Call 1
Inputs
(+.f64 (*.f64 -4 x) x)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(*.f64 4 y)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(*.f64 4 y)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(*.f64 4 y)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
Outputs
(+.f64 (*.f64 -4 x) x)
(*.f64 x -3)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(*.f64 4 y)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(*.f64 4 y)
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(*.f64 4 y)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(*.f64 -3 x)
(*.f64 x -3)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(*.f64 -3 x)
(*.f64 x -3)
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(fma.f64 4 y (*.f64 x -3))
(fma.f64 x -3 (*.f64 4 y))

localize19.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
0.0b
(+.f64 (*.f64 6 y) (*.f64 -6 x))
0.2b
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
Compiler

Compiled 45 to 28 computations (37.8% saved)

series8.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
1.0ms
z
@inf
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
1.0ms
y
@0
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
1.0ms
y
@-inf
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
1.0ms
y
@inf
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))

rewrite86.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
583×log-prod_binary64
450×fma-def_binary64
408×pow-prod-down_binary64
311×pow2_binary64
249×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01229
126523
2371523
Stop Event
node limit
Counts
2 → 133
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z))
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 y) z) (*.f64 (*.f64 -6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -6 x) z) (*.f64 (*.f64 6 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 6 y)) (*.f64 z (*.f64 -6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 -6 x)) (*.f64 z (*.f64 6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 -216 (pow.f64 x 3) (*.f64 216 (pow.f64 y 3))) z) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (pow.f64 (*.f64 6 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 6 y) 2) (pow.f64 (*.f64 -6 x) 2)) z) (fma.f64 6 y (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 -216 (pow.f64 x 3) (*.f64 216 (pow.f64 y 3)))) (fma.f64 (*.f64 -6 x) (-.f64 (*.f64 -6 x) (*.f64 6 y)) (pow.f64 (*.f64 6 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 6 y) 2) (pow.f64 (*.f64 -6 x) 2))) (fma.f64 6 y (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) z (*.f64 (*.f64 -6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 x) z (*.f64 (*.f64 6 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 6 y) (*.f64 z (*.f64 -6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 -6 x) (*.f64 z (*.f64 6 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (/.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 2) (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (/.f64 1 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 2) (fma.f64 x x (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3))) (neg.f64 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2)) (neg.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 2) (*.f64 x x)) (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 6 y (*.f64 -6 x))) z) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (fma.f64 6 y (*.f64 -6 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 1 (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (/.f64 1 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2) (*.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) 2) (cbrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) (*.f64 (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (sqrt.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2)) (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (/.f64 1 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (/.f64 1 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) 3)) (/.f64 1 (-.f64 (pow.f64 (fma.f64 (fma.f64 6 y (*.f64 -6 x)) z x) 2) (*.f64 (*.f64 x (fma.f64 6 y (*.f64 -6 x))) z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (fma.f64 6 y (*.f64 -6 x))) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (fma.f64 z (fma.f64 6 y (*.f64 -6 x)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) 2) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z))) (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)) (*.f64 (fma.f64 6 y (*.f64 -6 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) -1) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) 2)) (cbrt.f64 (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (fma.f64 6 y (*.f64 -6 x)))) (sqrt.f64 (fma.f64 6 y (*.f64 -6 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 6 y (*.f64 -6 x)) (sqrt.f64 z)) (sqrt.f64 z) x)))))

simplify100.0ms (0.9%)

Algorithm
egg-herbie
Rules
705×fma-def_binary64
685×fma-neg_binary64
116×associate-*l*_binary64
115×cancel-sign-sub-inv_binary64
113×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0321001
182941
2208882
3441732
4994705
51807705
62590705
72790705
82802705
92802705
Stop Event
saturated
Counts
205 → 151
Calls
Call 1
Inputs
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 z x)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
x
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
Outputs
(*.f64 6 (*.f64 z x))
(*.f64 z (*.f64 6 x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 z x))
(*.f64 z (*.f64 6 x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 z x))
(*.f64 z (*.f64 6 x))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 (*.f64 6 (*.f64 z x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 1 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 6 (*.f64 z x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 6 z)) x) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 x (+.f64 1 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 6 (*.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x)) (*.f64 -6 (*.f64 y z)))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) x)
(*.f64 x (+.f64 1 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 6 (*.f64 z x) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 -6 (*.f64 y z))
(*.f64 -6 (*.f64 z y))
(*.f64 z (*.f64 -6 y))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -6 (*.f64 y z)) x))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
x
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))) x)
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x))))
(fma.f64 6 (*.f64 z x) (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (*.f64 z (*.f64 -6 y)))
(*.f64 z (neg.f64 (fma.f64 6 y (*.f64 x -6))))
(*.f64 (*.f64 6 z) (-.f64 x y))
(*.f64 6 (*.f64 z (-.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)
(+.f64 x (*.f64 -1 (*.f64 z (+.f64 (*.f64 6 y) (*.f64 -6 x)))))
(fma.f64 (+.f64 1 (*.f64 6 z)) x (*.f64 -6 (*.f64 z y)))
(fma.f64 6 (*.f64 z x) (fma.f64 -6 (*.f64 z y) x))
(-.f64 x (*.f64 z (fma.f64 6 y (*.f64 x -6))))
(fma.f64 z (fma.f64 6 x (*.f64 -6 y)) x)
(fma.f64 6 (*.f64 z (-.f64 x y)) x)

eval269.0ms (2.3%)

Compiler

Compiled 7651 to 5102 computations (33.3% saved)

prune182.0ms (1.6%)

Pruning

19 alts after pruning (16 fresh and 3 done)

PrunedKeptTotal
New4005405
Fresh21113
Picked011
Done224
Total40419423
Error
0b
Counts
423 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
62.4b
x
41.3b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
28.5b
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
52.2b
(*.f64 -6 (/.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x)))
50.0b
(*.f64 x (*.f64 6 z))
22.3b
(+.f64 (*.f64 -3 x) (*.f64 4 y))
28.6b
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
34.6b
(*.f64 -1 (/.f64 (*.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) x) (+.f64 3 (*.f64 6 z))))
43.3b
(*.f64 4 y)
38.4b
(*.f64 -1 (/.f64 (*.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) x) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z)))))
40.8b
(*.f64 z (*.f64 -6 (-.f64 y x)))
28.5b
(*.f64 (-.f64 (*.f64 6 z) 3) x)
53.3b
(*.f64 z (*.f64 -6 y))
41.3b
(*.f64 x -3)
53.3b
(*.f64 -6 (*.f64 z y))
34.4b
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
13.4b
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
22.2b
(fma.f64 x -3 (*.f64 y 4))
50.0b
(*.f64 6 (*.f64 z x))
Compiler

Compiled 401 to 304 computations (24.2% saved)

localize53.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 2/3 z)
0.0b
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
0.2b
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
0.2b
(*.f64 y (-.f64 2/3 z))
Compiler

Compiled 49 to 33 computations (32.7% saved)

series18.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
12.0ms
x
@-inf
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
1.0ms
x
@0
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
1.0ms
y
@0
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
1.0ms
x
@inf
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
1.0ms
z
@0
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))

rewrite101.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
696×log-prod_binary64
634×fma-def_binary64
331×fma-neg_binary64
269×expm1-udef_binary64
269×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
129815
2412115
Stop Event
node limit
Counts
1 → 91
Calls
Call 1
Inputs
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x -4) 2) (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) (/.f64 (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2) (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) (pow.f64 (cbrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) 2) (cbrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) (sqrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3)) (/.f64 1 (fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)) (pow.f64 (*.f64 x -4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x -4) 2) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2)) (/.f64 1 (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)) (pow.f64 (*.f64 x -4) 2)) (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (-.f64 (pow.f64 (*.f64 x -4) 2) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3)) (fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)) (pow.f64 (*.f64 x -4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3)) (+.f64 (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2) (-.f64 (pow.f64 (*.f64 x -4) 2) (*.f64 x (*.f64 -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x -4) 2) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2)) (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3))) (neg.f64 (fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)) (pow.f64 (*.f64 x -4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x -4) 2) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2))) (neg.f64 (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) (-.f64 (*.f64 x x) (*.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2) (pow.f64 (*.f64 x -4) 2)) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) (*.f64 x x)) (-.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (-.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4)) (pow.f64 (*.f64 x -4) 2)) (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (-.f64 (pow.f64 (*.f64 x -4) 2) (pow.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (*.f64 (pow.f64 (exp.f64 -4) x) (pow.f64 (pow.f64 (exp.f64 y) (-.f64 2/3 z)) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (*.f64 (pow.f64 (exp.f64 -4) x) (pow.f64 (pow.f64 (exp.f64 y) (-.f64 2/3 z)) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x -4))) (exp.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -4) x) (+.f64 1 (expm1.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x -4))) (+.f64 1 (expm1.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) (pow.f64 (exp.f64 -4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (+.f64 1 (expm1.f64 (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) (+.f64 1 (expm1.f64 (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 -4) x) (pow.f64 (pow.f64 (exp.f64 y) (-.f64 2/3 z)) 6)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 -4) x) (pow.f64 (pow.f64 (exp.f64 y) (-.f64 2/3 z)) 6)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -4 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 x (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -4) 1 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 y (-.f64 2/3 z)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 (-.f64 2/3 z) 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 2/3 z) (*.f64 6 y) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (-.f64 2/3 z)) 6 (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) 1 (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) 1 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6))) (cbrt.f64 (pow.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) 2)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) 2)) (cbrt.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6))) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (pow.f64 (cbrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 2) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) 2) (cbrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 2/3 z))) 2) (*.f64 (cbrt.f64 (*.f64 y (-.f64 2/3 z))) 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x -4)) (pow.f64 (cbrt.f64 (*.f64 x -4)) 2) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x -4)) 2) (cbrt.f64 (*.f64 x -4)) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6))) (sqrt.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6))) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -4) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (sqrt.f64 (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (-.f64 2/3 z))) (*.f64 (sqrt.f64 (*.f64 y (-.f64 2/3 z))) 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -4)) (sqrt.f64 (*.f64 x -4)) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 216 (pow.f64 (*.f64 y (-.f64 2/3 z)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 y (*.f64 (-.f64 2/3 z) 6))) (pow.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) 2))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y (*.f64 (-.f64 2/3 z) 6)) x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) (-.f64 2/3 z) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) (cbrt.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4)))) (cbrt.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) (sqrt.f64 (fma.f64 y (*.f64 (-.f64 2/3 z) 6) (*.f64 x -4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 6 (*.f64 y (-.f64 2/3 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 2/3 z)) y (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 2/3 z))) 2)) (cbrt.f64 (*.f64 y (-.f64 2/3 z))) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 (*.f64 y (-.f64 2/3 z)))) (sqrt.f64 (*.f64 y (-.f64 2/3 z))) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 y) 1) (-.f64 2/3 z) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 y) (pow.f64 (cbrt.f64 (-.f64 2/3 z)) 2)) (cbrt.f64 (-.f64 2/3 z)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 y) (sqrt.f64 (-.f64 2/3 z))) (sqrt.f64 (-.f64 2/3 z)) (+.f64 x (*.f64 x -4)))))))

simplify201.0ms (1.7%)

Algorithm
egg-herbie
Rules
1217×fma-neg_binary64
736×fma-def_binary64
270×cancel-sign-sub-inv_binary64
152×distribute-rgt-in_binary64
134×associate--r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
028442
167442
2148442
3310442
4555382
5723382
61047382
71517382
82579382
93246382
103600382
113685382
123685382
134240382
144240382
Stop Event
saturated
Counts
127 → 104
Calls
Call 1
Inputs
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(+.f64 (*.f64 -4 x) x)
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(*.f64 -6 (*.f64 y z))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
Outputs
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) x)
(*.f64 -3 x)
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 6 (*.f64 y (-.f64 2/3 z)))
(*.f64 y (fma.f64 z -6 4))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 -4 x) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z)))))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) x))
(fma.f64 4 y (*.f64 -3 x))
(fma.f64 y 4 (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 -6 (*.f64 y z))
(*.f64 (*.f64 -6 y) z)
(*.f64 z (*.f64 y -6))
(*.f64 y (*.f64 z -6))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(*.f64 -6 (*.f64 y z))
(*.f64 (*.f64 -6 y) z)
(*.f64 z (*.f64 y -6))
(*.f64 y (*.f64 z -6))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))
(+.f64 (*.f64 4 y) (+.f64 (*.f64 -4 x) (+.f64 (*.f64 -6 (*.f64 y z)) x)))
(fma.f64 -3 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))
(fma.f64 6 (*.f64 y (-.f64 2/3 z)) (*.f64 -3 x))
(fma.f64 y (fma.f64 z -6 4) (*.f64 -3 x))

localize7.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 6 z))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series6.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (*.f64 6 z))
1.0ms
z
@0
(*.f64 x (*.f64 6 z))
1.0ms
x
@inf
(*.f64 x (*.f64 6 z))
1.0ms
z
@inf
(*.f64 x (*.f64 6 z))
1.0ms
x
@-inf
(*.f64 x (*.f64 6 z))

rewrite125.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
555×pow1_binary64
512×add-log-exp_binary64
512×log1p-expm1-u_binary64
512×expm1-log1p-u_binary64
502×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213947
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 x (*.f64 6 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 6 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 6 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 6 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 6 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 6 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 6 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 6 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 6 z))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
110168
217168
319168
Stop Event
saturated
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
Outputs
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))

localize22.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 6 z) 3)
0.1b
(*.f64 (-.f64 (*.f64 6 z) 3) x)
Compiler

Compiled 22 to 16 computations (27.3% saved)

series4.0ms (0%)

Counts
2 → 15
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (-.f64 (*.f64 6 z) 3) x)
1.0ms
z
@0
(*.f64 (-.f64 (*.f64 6 z) 3) x)
1.0ms
x
@inf
(*.f64 (-.f64 (*.f64 6 z) 3) x)
1.0ms
x
@-inf
(*.f64 (-.f64 (*.f64 6 z) 3) x)
0.0ms
z
@-inf
(*.f64 (-.f64 (*.f64 6 z) 3) x)

rewrite71.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
839×pow1_binary64
783×add-log-exp_binary64
783×log1p-expm1-u_binary64
783×expm1-log1p-u_binary64
770×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
117313
2206813
Stop Event
node limit
Counts
2 → 51
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(-.f64 (*.f64 6 z) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 z) x) (*.f64 -3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 6 z)) (*.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 6 z -3) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) x) (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 36 (*.f64 z z)) -9) x) (fma.f64 6 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 216 (pow.f64 z 3)) -27)) (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 36 (*.f64 z z)) -9)) (fma.f64 6 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 6 z -3) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 6 z -3) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 z -3) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 6 z -3) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 6 z -3) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 6 z -3)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 6 z -3) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 6 z -3) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 6 z -3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 6 z -3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 6 z -3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 6 z -3) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 z) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (*.f64 6 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 6 z -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 6 z -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 6 z -3)) (pow.f64 (cbrt.f64 (fma.f64 6 z -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 6 z -3)) 2) (cbrt.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 6 z -3)) (sqrt.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) (/.f64 1 (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 36 (*.f64 z z)) -9) (/.f64 1 (fma.f64 6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))) (+.f64 (*.f64 216 (pow.f64 z 3)) -27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 6 z 3) (+.f64 (*.f64 36 (*.f64 z z)) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) (+.f64 (*.f64 36 (*.f64 z z)) (-.f64 9 (*.f64 (*.f64 6 z) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 36 (*.f64 z z)) -9) (fma.f64 6 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 36 (*.f64 z z)) -9) (-.f64 (*.f64 6 z) -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27)) (neg.f64 (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 36 (*.f64 z z)) -9)) (neg.f64 (fma.f64 6 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 6 z -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 6 z -3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 6 z -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 6 z -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 6 z -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 6 z -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 6 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 z -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 6 -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 z) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 z)) 2) (cbrt.f64 (*.f64 6 z)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 z)) (sqrt.f64 (*.f64 6 z)) -3)))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
010126
117117
23199
34099
Stop Event
saturated
Counts
66 → 58
Calls
Call 1
Inputs
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
-3
(*.f64 6 z)
(*.f64 6 z)
Outputs
(*.f64 -3 x)
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 x z))
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 x z))
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
(+.f64 (*.f64 -3 x) (*.f64 6 (*.f64 z x)))
(fma.f64 -3 x (*.f64 6 (*.f64 x z)))
(*.f64 x (+.f64 -3 (*.f64 6 z)))
(*.f64 x (fma.f64 6 z -3))
-3
(*.f64 6 z)
(*.f64 6 z)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 6 (*.f64 z x)) x)
0.0b
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
0.2b
(*.f64 6 (*.f64 z x))
Compiler

Compiled 36 to 19 computations (47.2% saved)

series5.0ms (0%)

Counts
3 → 33
Calls

18 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
0.0ms
x
@0
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
0.0ms
z
@0
(*.f64 6 (*.f64 z x))
0.0ms
z
@inf
(*.f64 6 (*.f64 z x))
0.0ms
x
@-inf
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))

rewrite109.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
600×fma-def_binary64
558×log-prod_binary64
394×pow-prod-down_binary64
321×fma-neg_binary64
297×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01027
122727
2318826
Stop Event
node limit
Counts
3 → 177
Calls
Call 1
Inputs
(*.f64 6 (*.f64 z x))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 6 (*.f64 z x)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (*.f64 z x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (*.f64 z x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 6 x) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 6 x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 6 x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 6) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 6 x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 6 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 6 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 6 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 6 x) z)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 16 (*.f64 x x)) (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x))) (/.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 2) (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) 2) (cbrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) (sqrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3)) (/.f64 1 (fma.f64 (fma.f64 (*.f64 6 x) z x) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)) (*.f64 16 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 16 (*.f64 x x)) (pow.f64 (fma.f64 (*.f64 6 x) z x) 2)) (/.f64 1 (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 (*.f64 6 x) z x) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)) (*.f64 16 (*.f64 x x))) (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x)) (-.f64 (*.f64 16 (*.f64 x x)) (pow.f64 (fma.f64 (*.f64 6 x) z x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3)) (fma.f64 (fma.f64 (*.f64 6 x) z x) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)) (*.f64 16 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3)) (+.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 2) (-.f64 (*.f64 16 (*.f64 x x)) (*.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 16 (*.f64 x x)) (pow.f64 (fma.f64 (*.f64 6 x) z x) 2)) (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3))) (neg.f64 (fma.f64 (fma.f64 (*.f64 6 x) z x) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)) (*.f64 16 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 16 (*.f64 x x)) (pow.f64 (fma.f64 (*.f64 6 x) z x) 2))) (neg.f64 (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 2) (*.f64 16 (*.f64 x x))) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) 2) (*.f64 x x)) (-.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 (*.f64 6 x) z x) (-.f64 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4)) (*.f64 16 (*.f64 x x))) (fma.f64 -64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 6 x) z x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x)) (-.f64 (*.f64 16 (*.f64 x x)) (pow.f64 (fma.f64 (*.f64 6 x) z x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (pow.f64 (*.f64 (exp.f64 -4) (exp.f64 (*.f64 6 z))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (*.f64 (exp.f64 -4) (exp.f64 (*.f64 6 z))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x -4))) (pow.f64 (exp.f64 x) (fma.f64 6 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) -4) (+.f64 1 (expm1.f64 (fma.f64 (*.f64 6 x) z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x -4))) (+.f64 1 (expm1.f64 (fma.f64 (*.f64 6 x) z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 6 x) z x))) (pow.f64 (exp.f64 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (fma.f64 6 z 1)) (+.f64 1 (expm1.f64 (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 6 x) z x))) (+.f64 1 (expm1.f64 (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 -4) (exp.f64 (*.f64 6 z))) x) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x (+.f64 -4 (*.f64 6 z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 -4) (exp.f64 (*.f64 6 z))) x) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 -4 (*.f64 6 z)) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 z x) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 x 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -4 (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 x (+.f64 -4 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 6 z) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 6 z 1) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1 (*.f64 6 z)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 -4 (*.f64 6 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 6 (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 x) z) 1 (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 x (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -4) 1 (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 6 x) z x) 1 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 x (+.f64 -4 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 6 x) z) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -4) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 6 x) z x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (+.f64 -4 (*.f64 6 z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x -4)) (cbrt.f64 (*.f64 16 (*.f64 x x))) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 16 (*.f64 x x))) (cbrt.f64 (*.f64 x -4)) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 (cbrt.f64 (*.f64 z x)) 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) 2) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) 2) (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) 2) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) 2) (cbrt.f64 (*.f64 (*.f64 6 x) z)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x (+.f64 -4 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (+.f64 -4 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -4) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -4)) (sqrt.f64 (*.f64 x -4)) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (*.f64 (sqrt.f64 (*.f64 z x)) 6) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 6 x) z x)) (sqrt.f64 (fma.f64 (*.f64 6 x) z x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 6 x) z)) (sqrt.f64 (*.f64 (*.f64 6 x) z)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (+.f64 -4 (*.f64 6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -4) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x)) (/.f64 1 (*.f64 x (fma.f64 6 z -1))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 z) x (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 -4 (*.f64 6 z))) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 -4 (*.f64 6 z)))) 2) (cbrt.f64 (*.f64 x (+.f64 -4 (*.f64 6 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (+.f64 -4 (*.f64 6 z)))) (sqrt.f64 (*.f64 x (+.f64 -4 (*.f64 6 z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 6 z 1) x (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 x) z (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -4 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (pow.f64 (*.f64 z x) 2))) (cbrt.f64 (*.f64 z x)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 (*.f64 z x))) (sqrt.f64 (*.f64 z x)) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) 1) x (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x (*.f64 x -4)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 6 x) z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x (fma.f64 6 z -1))) (/.f64 (*.f64 x x) (*.f64 x (fma.f64 6 z -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (fma.f64 6 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 6 x) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 6 x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) 2) (cbrt.f64 (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 6 x) z x)) (sqrt.f64 (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x)) (/.f64 1 (*.f64 x (fma.f64 6 z -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 6 z 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2)) (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (fma.f64 6 z -1)) (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 6 (*.f64 (*.f64 z x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x)) (*.f64 x (fma.f64 6 z -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x))) (neg.f64 (*.f64 x (fma.f64 6 z -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 6 x) z) 2)) (-.f64 x (*.f64 (*.f64 6 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 6 x) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 6 x) z x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 6 x) z x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 6 x) z)) (pow.f64 (*.f64 (*.f64 6 x) z) 2)) (fma.f64 (pow.f64 (*.f64 z x) 3) 216 (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x (fma.f64 6 z -1)) (-.f64 (pow.f64 (*.f64 (*.f64 6 x) z) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 6 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 6 x) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 6) (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (*.f64 6 x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (*.f64 6 x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 6 x) z))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 6) (*.f64 z x)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 6 x) z))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 6 x) z x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 6 x) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 6 x) z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 z x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 x 6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 6 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 6 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 x) z) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 6 x) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 (cbrt.f64 (*.f64 z x)) 6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 6 x) z)) 2) (cbrt.f64 (*.f64 (*.f64 6 x) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (*.f64 (sqrt.f64 (*.f64 z x)) 6) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 6 x) z)) (sqrt.f64 (*.f64 (*.f64 6 x) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (*.f64 6 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 z) x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 x) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (pow.f64 (*.f64 z x) 2))) (cbrt.f64 (*.f64 z x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 (*.f64 z x))) (sqrt.f64 (*.f64 z x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) 1) x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 z) (sqrt.f64 x)) (sqrt.f64 x) x)))))

simplify74.0ms (0.6%)

Algorithm
egg-herbie
Rules
614×fma-def_binary64
446×fma-neg_binary64
128×associate-*l*_binary64
96×associate-*r*_binary64
91×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026273
163249
2146249
3319249
4578249
51074249
61957249
72453249
82477249
92482249
Stop Event
saturated
Counts
210 → 187
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(+.f64 (*.f64 -4 x) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
x
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
Outputs
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(*.f64 (fma.f64 6 z -3) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (fma.f64 6 z -3) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (fma.f64 6 z -3) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (fma.f64 6 z -3) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (fma.f64 6 z -3) x)
(+.f64 (*.f64 -4 x) x)
(*.f64 -3 x)
(*.f64 x -3)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(*.f64 (fma.f64 6 z -3) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(*.f64 (fma.f64 6 z -3) x)
(+.f64 (*.f64 6 (*.f64 z x)) (+.f64 (*.f64 -4 x) x))
(*.f64 (fma.f64 6 z -3) x)
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
x
(*.f64 6 (*.f64 z x))
(*.f64 6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 (+.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -6 z) 1) x))
(*.f64 x (+.f64 (*.f64 6 z) 1))
(*.f64 x (fma.f64 6 z 1))
(fma.f64 (*.f64 6 z) x x)

eval527.0ms (4.6%)

Compiler

Compiled 7790 to 5359 computations (31.2% saved)

prune145.0ms (1.3%)

Pruning

20 alts after pruning (13 fresh and 7 done)

PrunedKeptTotal
New4764480
Fresh2911
Picked011
Done167
Total47920499
Error
0b
Counts
499 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
62.4b
x
41.3b
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
28.5b
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
52.2b
(*.f64 -6 (/.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x)))
22.2b
(fma.f64 x -3 (*.f64 y 4))
53.3b
(*.f64 y (*.f64 z -6))
50.0b
(*.f64 x (*.f64 6 z))
22.3b
(+.f64 (*.f64 -3 x) (*.f64 4 y))
28.6b
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
34.6b
(*.f64 -1 (/.f64 (*.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) x) (+.f64 3 (*.f64 6 z))))
40.8b
(*.f64 z (*.f64 -6 (-.f64 y x)))
28.5b
(*.f64 (-.f64 (*.f64 6 z) 3) x)
53.3b
(*.f64 z (*.f64 -6 y))
41.3b
(*.f64 x -3)
53.3b
(*.f64 -6 (*.f64 z y))
34.4b
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
38.4b
(/.f64 (*.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) x) (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))))
50.0b
(*.f64 6 (*.f64 z x))
43.3b
(*.f64 4 y)
22.3b
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
Compiler

Compiled 220 to 166 computations (24.5% saved)

regimes353.0ms (3%)

Counts
41 → 1
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(*.f64 -6 (/.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x)))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (-.f64 (/.f64 2 3) z)))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(*.f64 -1 (/.f64 (*.f64 (-.f64 9 (*.f64 36 (*.f64 z z))) x) (+.f64 3 (*.f64 6 z))))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(fma.f64 x -3 (*.f64 y 4))
(fma.f64 x -3 (*.f64 y 4))
(fma.f64 (*.f64 (-.f64 2/3 z) (-.f64 y x)) 6 x)
(/.f64 (*.f64 (+.f64 (*.f64 216 (pow.f64 z 3)) -27) x) (+.f64 (*.f64 36 (*.f64 z z)) (+.f64 9 (*.f64 z 18))))
(*.f64 -1 (/.f64 (*.f64 (+.f64 27 (*.f64 -216 (pow.f64 z 3))) x) (+.f64 9 (-.f64 (*.f64 36 (*.f64 z z)) (*.f64 -18 z)))))
(fma.f64 (-.f64 y x) (fma.f64 z -6 4) x)
(+.f64 x (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y x) 6) 3)) (-.f64 (/.f64 2 3) z)))
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 y x)) 2) (*.f64 (cbrt.f64 (-.f64 y x)) (*.f64 6 (-.f64 2/3 z))) x)
(fma.f64 (*.f64 (*.f64 (-.f64 y x) 6) (cbrt.f64 (pow.f64 (-.f64 2/3 z) 2))) (cbrt.f64 (-.f64 2/3 z)) x)
Outputs
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
Calls

6 calls:

150.0ms
(-.f64 (/.f64 2 3) z)
77.0ms
z
35.0ms
y
30.0ms
x
26.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1z
0.2b1(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
0.2b1(-.f64 (/.f64 2 3) z)
0.2b1(-.f64 (/.f64 2 3) z)
Compiler

Compiled 460 to 300 computations (34.8% saved)

regimes156.0ms (1.4%)

Counts
27 → 1
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(*.f64 -6 (/.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
Calls

5 calls:

61.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
30.0ms
y
26.0ms
z
16.0ms
x
14.0ms
(-.f64 (/.f64 2 3) z)
Results
ErrorSegmentsBranch
0.4b1x
0.4b1y
0.4b1z
0.4b1(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
0.4b1(-.f64 (/.f64 2 3) z)
Compiler

Compiled 244 to 158 computations (35.2% saved)

regimes139.0ms (1.2%)

Counts
25 → 3
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
Outputs
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x))
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
Calls

3 calls:

52.0ms
y
45.0ms
z
36.0ms
x
Results
ErrorSegmentsBranch
9.4b3x
7.0b3y
1.2b3z
Compiler

Compiled 192 to 123 computations (35.9% saved)

bsearch45.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
10.180784999286313
348659.1818894611
20.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes176.0ms (1.5%)

Counts
24 → 3
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
Outputs
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))
Calls

3 calls:

92.0ms
x
40.0ms
z
37.0ms
y
Results
ErrorSegmentsBranch
13.1b5x
13.2b3y
1.4b3z
Compiler

Compiled 179 to 114 computations (36.3% saved)

bsearch100.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
0.0036699405484121803
5.2776108259173
64.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes246.0ms (2.1%)

Counts
23 → 3
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
(*.f64 (-.f64 (*.f64 6 z) 3) x)
(+.f64 (*.f64 4 (-.f64 y x)) x)
(*.f64 (+.f64 4 (*.f64 -6 z)) y)
(*.f64 -6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 x -4) (+.f64 (*.f64 y 4) x))
(+.f64 (*.f64 -6 (*.f64 (-.f64 2/3 z) x)) x)
(*.f64 -1 (*.f64 (+.f64 3 (*.f64 -6 z)) x))
(*.f64 (+.f64 1 (*.f64 -6 (-.f64 2/3 z))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (neg.f64 z)))
(+.f64 (*.f64 -4 x) (+.f64 (*.f64 6 (*.f64 z x)) x))
(+.f64 (*.f64 2/3 (+.f64 (*.f64 6 y) (*.f64 -6 x))) x)
Outputs
(*.f64 z (*.f64 -6 (-.f64 y x)))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 z (*.f64 -6 (-.f64 y x)))
Calls

3 calls:

152.0ms
x
52.0ms
z
35.0ms
y
Results
ErrorSegmentsBranch
13.1b5x
13.2b3y
1.4b3z
Compiler

Compiled 167 to 107 computations (35.9% saved)

bsearch46.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
0.0036699405484121803
5.2776108259173
21.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes86.0ms (0.7%)

Counts
11 → 3
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
Outputs
(*.f64 x (*.f64 6 z))
(+.f64 (*.f64 -3 x) (*.f64 4 y))
(*.f64 6 (*.f64 z x))
Calls

3 calls:

51.0ms
z
21.0ms
y
11.0ms
x
Results
ErrorSegmentsBranch
22.3b1x
20.9b3y
10.4b3z
Compiler

Compiled 64 to 42 computations (34.4% saved)

bsearch44.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
0.0036699405484121803
5.2776108259173
20.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes139.0ms (1.2%)

Counts
10 → 7
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
(*.f64 x (*.f64 6 z))
(*.f64 z (*.f64 -6 y))
(*.f64 -6 (*.f64 z y))
Outputs
(*.f64 x (*.f64 6 z))
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 6 (*.f64 z x))
Calls

3 calls:

70.0ms
z
35.0ms
x
30.0ms
y
Results
ErrorSegmentsBranch
30.9b5x
27.9b5y
23.9b7z
Compiler

Compiled 57 to 37 computations (35.1% saved)

bsearch268.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
43.0ms
0.0036699405484121803
5.2776108259173
64.0ms
-2.4314014463301733e-297
-2.8241036509631934e-303
57.0ms
-4.267252325917222e-230
-4.457500237162855e-240
42.0ms
-1.4764790011037582e-216
-6.35495857845521e-218
21.0ms
-3.4389908808816314e-66
-3.9671538590052097e-81
41.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes164.0ms (1.4%)

Counts
7 → 7
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
(*.f64 6 (*.f64 z x))
(*.f64 -1 (*.f64 3 x))
(*.f64 6 (*.f64 z x))
Outputs
(*.f64 6 (*.f64 z x))
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 6 (*.f64 z x))
Calls

3 calls:

80.0ms
z
53.0ms
y
27.0ms
x
Results
ErrorSegmentsBranch
30.9b5x
27.9b5y
23.9b7z
Compiler

Compiled 42 to 28 computations (33.3% saved)

bsearch170.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
0.0036699405484121803
5.2776108259173
28.0ms
-2.4314014463301733e-297
-2.8241036509631934e-303
29.0ms
-4.267252325917222e-230
-4.457500237162855e-240
26.0ms
-1.4764790011037582e-216
-6.35495857845521e-218
22.0ms
-3.4389908808816314e-66
-3.9671538590052097e-81
38.0ms
-55867.329838425474
-0.0014415711611066879
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes65.0ms (0.6%)

Counts
4 → 7
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
Outputs
(*.f64 y (*.f64 z -6))
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 4 y)
(*.f64 x -3)
(*.f64 y (*.f64 z -6))
Calls

3 calls:

27.0ms
z
24.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
30.9b5x
29.5b3y
27.2b7z
Compiler

Compiled 27 to 19 computations (29.6% saved)

bsearch201.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
0.0036699405484121803
5.2776108259173
27.0ms
-2.4314014463301733e-297
-2.8241036509631934e-303
47.0ms
-4.267252325917222e-230
-4.457500237162855e-240
51.0ms
-1.4764790011037582e-216
-6.35495857845521e-218
22.0ms
-3.4389908808816314e-66
-3.9671538590052097e-81
31.0ms
-2.4774148561027497e+21
-132473824514080160.0
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes74.0ms (0.6%)

Counts
3 → 3
Calls
Call 1
Inputs
x
(*.f64 4 y)
(*.f64 x -3)
Outputs
(*.f64 4 y)
(*.f64 x -3)
(*.f64 4 y)
Calls

3 calls:

39.0ms
z
24.0ms
x
10.0ms
y
Results
ErrorSegmentsBranch
30.9b5x
29.5b3y
35.8b5z
Compiler

Compiled 22 to 16 computations (27.3% saved)

bsearch113.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
1.0475370519041326e+63
1.3650580230284665e+65
57.0ms
-1.417898523361797e-32
-7.097518332728205e-36
Compiler

Compiled 22 to 17 computations (22.7% saved)

regimes13.0ms (0.1%)

Accuracy

Total -19.4b remaining (-44.7%)

Threshold costs -19.4b (-44.7%)

Counts
2 → 1
Calls
Call 1
Inputs
x
(*.f64 4 y)
Outputs
(*.f64 4 y)
Calls

3 calls:

5.0ms
y
3.0ms
z
3.0ms
x
Results
ErrorSegmentsBranch
43.3b1x
43.3b1y
43.3b1z
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
29×*-commutative_binary64
17×+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
090464
1128460
2141460
3153460
4174460
5181460
6185460
7186460
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 2865636220570311/281474976710656) (+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x)) (+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (*.f64 z (*.f64 -6 (-.f64 y x)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 6 z)) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (*.f64 6 (*.f64 z x))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 6 z)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 6 (*.f64 z x))))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 6 (*.f64 z x)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 6 (*.f64 z x))))))))
(if (<=.f64 z -2477414856102749667328) (*.f64 y (*.f64 z -6)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 y (*.f64 z -6))))))))
(if (<=.f64 y -20722610134623360/1461501637330902918203684832716283019655932542976) (*.f64 4 y) (if (<=.f64 y 1047537051904132619613305133237932403423245407582871564670992384) (*.f64 x -3) (*.f64 4 y)))
(*.f64 4 y)
x
Outputs
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 (*.f64 -6 (*.f64 z (-.f64 y x))) x))
(+.f64 (*.f64 4 (-.f64 y x)) (+.f64 x (*.f64 -6 (*.f64 (-.f64 y x) z))))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 (/.f64 2 3) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) (-.f64 2/3 z)))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 2865636220570311/281474976710656) (+.f64 (*.f64 x -4) (+.f64 (*.f64 6 (*.f64 y (-.f64 2/3 z))) x)) (+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 2865636220570311/281474976710656) (+.f64 (*.f64 x -4) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))) (+.f64 x (*.f64 (+.f64 (*.f64 y 6) (*.f64 x -6)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 2865636220570311/281474976710656) (+.f64 (*.f64 x -4) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))) (-.f64 x (*.f64 z (+.f64 (*.f64 y 6) (*.f64 x -6))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 2865636220570311/281474976710656) (+.f64 (*.f64 x -4) (+.f64 x (*.f64 6 (*.f64 y (-.f64 2/3 z))))) (+.f64 x (*.f64 z (+.f64 (*.f64 y -6) (*.f64 x 6))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (+.f64 x (*.f64 (+.f64 (*.f64 6 y) (*.f64 -6 x)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 528894172361631/144115188075855872) (+.f64 (*.f64 4 y) (*.f64 x -3)) (+.f64 x (*.f64 (+.f64 (*.f64 y 6) (*.f64 x -6)) (neg.f64 z)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 528894172361631/144115188075855872) (+.f64 (*.f64 4 y) (*.f64 x -3)) (-.f64 x (*.f64 z (+.f64 (*.f64 y 6) (*.f64 x -6))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 528894172361631/144115188075855872) (+.f64 (*.f64 4 y) (*.f64 x -3)) (+.f64 x (*.f64 z (+.f64 (*.f64 y -6) (*.f64 x 6))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 -6 (-.f64 y x))) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (*.f64 z (*.f64 -6 (-.f64 y x)))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 z (*.f64 (-.f64 y x) -6)) (if (<=.f64 z 528894172361631/144115188075855872) (+.f64 (*.f64 4 y) (*.f64 x -3)) (*.f64 z (*.f64 (-.f64 y x) -6))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 6 z)) (if (<=.f64 z 67698454062288768/18446744073709551616) (+.f64 (*.f64 -3 x) (*.f64 4 y)) (*.f64 6 (*.f64 z x))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 z 6)) (if (<=.f64 z 528894172361631/144115188075855872) (+.f64 (*.f64 4 y) (*.f64 x -3)) (*.f64 6 (*.f64 x z))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 6 z)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 6 (*.f64 z x))))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 x (*.f64 z 6)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 528894172361631/144115188075855872) (*.f64 x -3) (*.f64 6 (*.f64 x z))))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 6 (*.f64 z x)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 6 (*.f64 z x))))))))
(if (<=.f64 z -1919586836567059/34359738368) (*.f64 6 (*.f64 x z)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 528894172361631/144115188075855872) (*.f64 x -3) (*.f64 6 (*.f64 x z))))))))
(if (<=.f64 z -2477414856102749667328) (*.f64 y (*.f64 z -6)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 67698454062288768/18446744073709551616) (*.f64 x -3) (*.f64 y (*.f64 z -6))))))))
(if (<=.f64 z -2477414856102749667328) (*.f64 y (*.f64 -6 z)) (if (<=.f64 z -6524238872008499/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 x -3) (if (<=.f64 z -2292260362115663/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 4 y) (if (<=.f64 z -2330959880024569/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 x -3) (if (<=.f64 z -1790326246671179/736335108039604595805923406147184530889923370574768772191969612422073040099331944991573923112581267542507986451953227192970402893063850485730703075899286013451337291468249027691733891486704001513279827771740183629161065194874727962517148100775228363421083691764065477590823919364012917984605619526140822066036736) (*.f64 4 y) (if (<=.f64 z 528894172361631/144115188075855872) (*.f64 x -3) (*.f64 y (*.f64 -6 z))))))))
(if (<=.f64 y -20722610134623360/1461501637330902918203684832716283019655932542976) (*.f64 4 y) (if (<=.f64 y 1047537051904132619613305133237932403423245407582871564670992384) (*.f64 x -3) (*.f64 4 y)))
(if (<=.f64 y -161895391676745/11417981541647679048466287755595961091061972992) (*.f64 4 y) (if (<=.f64 y 1047537051904132619613305133237932403423245407582871564670992384) (*.f64 x -3) (*.f64 4 y)))
(*.f64 4 y)
x
Compiler

Compiled 356 to 249 computations (30.1% saved)

soundness720.0ms (6.2%)

Algorithm
egg-herbie
Rules
5304×fma-neg_binary64
682×unsub-neg_binary64
376×fma-def_binary64
347×sub-neg_binary64
287×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01416
12314
26014
320212
463412
5199612
6401712
7583512
8651812
9678612
10685012
11686912
12687312
13687312
14687312
15715512
16720612
17720612
Stop Event
node limit
Compiler

Compiled 245 to 185 computations (24.5% saved)

end158.0ms (1.4%)

Compiler

Compiled 323 to 210 computations (35% saved)

Profiling

Loading profile data...