Details

Time bar (total: 16.3s)

analyze533.0ms (3.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
12.5%85.6%1.9%11
17.2%79.4%3.4%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample2.2s (13.3%)

Results
1.6s8256×body256valid
533.0ms3843×body256invalid

preprocess98.0ms (0.6%)

Algorithm
egg-herbie
Rules
832×unsub-neg_binary64
438×+-commutative_binary64
318×associate--r-_binary64
308×distribute-rgt-in_binary64
286×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02991
15677
216277
360877
4257777
5431677
6712177
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y)))
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z)))
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t)))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x)))
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x)))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y)))
(fma.f64 (-.f64 x z) (-.f64 t y) y)
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z)))
(fma.f64 (-.f64 y x) (-.f64 t z) z)
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 x t) t)
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 z y)))
(fma.f64 (-.f64 t x) (-.f64 z y) x)
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x)))
(+.f64 x (*.f64 (-.f64 y x) (-.f64 t z)))
(fma.f64 (-.f64 y x) (-.f64 t z) x)
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x)))
(fma.f64 (-.f64 y t) (-.f64 z x) x)
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify275.0ms (1.7%)

Algorithm
egg-herbie
Rules
2262×fma-neg_binary64
697×fma-def_binary64
683×unsub-neg_binary64
303×distribute-rgt-in_binary64
280×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
11511
23711
312311
447111
5155711
6303411
7414811
8518011
9543811
10544911
11544911
12549111
13549111
14549111
15776511
16776511
17776511
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)

eval1.0ms (0%)

Compiler

Compiled 21 to 9 computations (57.1% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 25 to 15 computations (40% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

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

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
543×log-prod_binary64
520×fma-def_binary64
444×pow-prod-down_binary64
303×pow2_binary64
239×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0923
120821
2323121
Stop Event
node limit
Counts
2 → 99
Calls
Call 1
Inputs
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (-.f64 y z)) (*.f64 (neg.f64 x) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 t x)) (*.f64 (neg.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (*.f64 (fma.f64 z (+.f64 y z) (*.f64 y y)) (fma.f64 t t (*.f64 x (+.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (*.f64 (+.f64 y z) (fma.f64 t t (*.f64 x (+.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 (*.f64 t t) (*.f64 x x))) (*.f64 (fma.f64 z (+.f64 y z) (*.f64 y y)) (+.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 (*.f64 t t) (*.f64 x x))) (*.f64 (+.f64 y z) (+.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 (fma.f64 t t (*.f64 x (+.f64 t x))) (fma.f64 z (+.f64 y z) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 (+.f64 t x) (fma.f64 z (+.f64 y z) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 (*.f64 y y) (*.f64 z z))) (*.f64 (fma.f64 t t (*.f64 x (+.f64 t x))) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 (*.f64 y y) (*.f64 z z))) (*.f64 (+.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 t x)) (fma.f64 z (+.f64 y z) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 t x)) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 y z)) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (-.f64 (*.f64 y y) (*.f64 z z))) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (*.f64 (neg.f64 x) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (-.f64 t x) (neg.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))) (/.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2)) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (-.f64 t x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (-.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 t x) 2)) (*.f64 (cbrt.f64 (-.f64 t x)) (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 y z) 2)) (*.f64 (cbrt.f64 (-.f64 y z)) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (cbrt.f64 (pow.f64 (-.f64 t x) 2))) (cbrt.f64 (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (cbrt.f64 (pow.f64 (-.f64 y z) 2))) (cbrt.f64 (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) x)))))

simplify344.0ms (2.1%)

Algorithm
egg-herbie
Rules
2719×fma-neg_binary64
401×unsub-neg_binary64
314×fma-def_binary64
292×associate-+l-_binary64
276×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0391500
11051169
2241935
3740929
41834929
53843929
64481929
74671929
84709929
94709929
105045929
115088929
125088929
137108929
147108929
157108929
Stop Event
saturated
Counts
195 → 125
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
Outputs
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 z (-.f64 t x)))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 z (-.f64 t x)))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 z (-.f64 t x)))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(fma.f64 -1 (*.f64 z (-.f64 t x)) x)
(fma.f64 (neg.f64 z) (-.f64 t x) x)
(fma.f64 z (fma.f64 -1 t x) x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 y (-.f64 t x)) x)
(fma.f64 y (-.f64 t x) x)
(fma.f64 (-.f64 t x) y x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 z (-.f64 t x)))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 z (-.f64 t x)))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Compiler

Compiled 22 to 7 computations (68.2% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)
0.0ms
x
@-inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)
0.0ms
t
@inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)
0.0ms
t
@-inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)
0.0ms
y
@-inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
782×prod-diff_binary64
449×log-prod_binary64
341×fma-def_binary64
332×pow-prod-down_binary64
261×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
118011
2263611
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 1))))))

simplify301.0ms (1.9%)

Algorithm
egg-herbie
Rules
2702×fma-neg_binary64
409×unsub-neg_binary64
318×fma-def_binary64
288×associate-+l-_binary64
286×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036753
1100569
2239488
3735485
41817485
53817485
64447485
74637485
84675485
94675485
105011485
115067485
125067485
137101485
147101485
157101485
Stop Event
saturated
Counts
78 → 51
Calls
Call 1
Inputs
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
Outputs
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(fma.f64 -1 (*.f64 (-.f64 t x) z) x)
(-.f64 x (*.f64 (-.f64 t x) z))
(fma.f64 z (fma.f64 -1 t x) x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 y (-.f64 t x)) x)
(fma.f64 y (-.f64 t x) x)
(fma.f64 (-.f64 t x) y x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 (-.f64 t x) z))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(neg.f64 (*.f64 (-.f64 t x) z))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(fma.f64 -1 (*.f64 x (-.f64 y z)) x)
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(fma.f64 -1 (*.f64 x (-.f64 y z)) x)
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(fma.f64 -1 (*.f64 x (-.f64 y z)) x)
(-.f64 x (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)

eval33.0ms (0.2%)

Compiler

Compiled 2622 to 668 computations (74.5% saved)

prune32.0ms (0.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1679176
Fresh000
Picked101
Done101
Total1699178
Error
0b
Counts
178 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
27.1b
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
36.5b
(*.f64 t (-.f64 y z))
23.0b
(+.f64 x (*.f64 z (-.f64 x t)))
39.1b
(*.f64 z (-.f64 x t))
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
40.1b
(*.f64 (-.f64 t x) y)
27.1b
(+.f64 x (*.f64 x (-.f64 z y)))
Compiler

Compiled 218 to 138 computations (36.7% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 10 computations (80% saved)

series20.0ms (0.1%)

Counts
4 → 168
Calls

42 calls:

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

rewrite113.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
692×fma-def_binary64
633×log-prod_binary64
374×fma-neg_binary64
224×pow1/3_binary64
224×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01143
125735
2408535
Stop Event
node limit
Counts
4 → 309
Calls
Call 1
Inputs
(*.f64 (-.f64 t x) (neg.f64 z))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
(*.f64 (-.f64 t x) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t z) (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x))) (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 t x) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) z) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) z) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 z (neg.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 t x) (+.f64 z y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2) (*.f64 (-.f64 t x) (+.f64 z y))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 t x) (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z y) (-.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2)) (neg.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (pow.f64 (*.f64 (-.f64 t x) y) 2)) (-.f64 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (+.f64 z y)) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (+.f64 z y)) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (exp.f64 y) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 z y) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 z y) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 z y) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) z) 1 (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1 (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (cbrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z y) (-.f64 t x) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z y) (-.f64 t x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z y) (-.f64 t x) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) -1) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) y))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y)))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 t x) (+.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) 2) (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3)) (fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x (-.f64 t x)) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2)) (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (-.f64 t x) y x) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (fma.f64 (fma.f64 (-.f64 t x) y x) (fma.f64 (-.f64 t x) y x) (-.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (*.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 x x)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (fma.f64 (-.f64 t x) y x) (fma.f64 (-.f64 t x) y x) (pow.f64 (*.f64 (-.f64 t x) z) 2)) (fma.f64 (-.f64 t x) (+.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) (fma.f64 (-.f64 t x) (+.f64 z y) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 z y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (exp.f64 (fma.f64 (-.f64 t x) y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (exp.f64 (fma.f64 (-.f64 t x) y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 z y)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 z y)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 z y) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 t x) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) z) 1 (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 2) (cbrt.f64 (*.f64 (-.f64 t x) z)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 t x) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) (sqrt.f64 (*.f64 (-.f64 t x) z)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 z y)) 2) (*.f64 (*.f64 (*.f64 (-.f64 t x) y) (-.f64 t x)) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z y) (-.f64 t x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (-.f64 t x) y x) 1 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 t x) y x)) (cbrt.f64 (fma.f64 (-.f64 t x) y x))) (cbrt.f64 (fma.f64 (-.f64 t x) y x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (-.f64 t x) y x)) (sqrt.f64 (fma.f64 (-.f64 t x) y x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 t x)) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) -1) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t y) (*.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 t x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 t x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 t x) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) y) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t y (*.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y t (*.f64 y (neg.f64 x)))))))

simplify265.0ms (1.6%)

Algorithm
egg-herbie
Rules
2930×fma-neg_binary64
477×fma-def_binary64
466×associate-+l-_binary64
444×sub-neg_binary64
366×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0652299
12111955
25661409
316531409
440631409
550861409
652891409
753131409
853131409
957501409
1058541409
1158541409
Stop Event
node limit
Counts
477 → 352
Calls
Call 1
Inputs
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
Outputs
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(fma.f64 -1 (*.f64 z (-.f64 t x)) x)
(-.f64 x (*.f64 z (-.f64 t x)))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 y (-.f64 t x)) x)
(fma.f64 y (-.f64 t x) x)
(fma.f64 (-.f64 t x) y x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 t (-.f64 y z))
Compiler

Compiled 15 to 6 computations (60% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
725×pow1_binary64
672×add-log-exp_binary64
672×log1p-expm1-u_binary64
672×expm1-log1p-u_binary64
657×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify39.0ms (0.2%)

Algorithm
egg-herbie
Rules
217×fma-def_binary64
132×fma-neg_binary64
43×cancel-sign-sub-inv_binary64
25×distribute-rgt-in_binary64
25×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
09228
117210
235156
358156
486156
5138156
6254156
7410156
8579156
9733156
10747156
Stop Event
saturated
Counts
43 → 25
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t (-.f64 y z))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize29.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 z (-.f64 x t)))
0.0b
(*.f64 z (-.f64 x t))
Compiler

Compiled 22 to 7 computations (68.2% saved)

series11.0ms (0.1%)

Counts
2 → 60
Calls

18 calls:

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

rewrite91.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
968×pow1_binary64
900×add-log-exp_binary64
900×log1p-expm1-u_binary64
900×expm1-log1p-u_binary64
87×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0717
115815
2236915
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 z (-.f64 x t))
(+.f64 x (*.f64 z (-.f64 x t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 (neg.f64 t) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 x t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 t 3)) z) (fma.f64 x x (*.f64 t (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 x 3) (pow.f64 t 3))) (fma.f64 x x (*.f64 t (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 x x) (*.f64 t t))) (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 x t))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (-.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (-.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (-.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (-.f64 x t)))))))

simplify71.0ms (0.4%)

Algorithm
egg-herbie
Rules
353×fma-def_binary64
263×fma-neg_binary64
60×cancel-sign-sub-inv_binary64
50×distribute-rgt-in_binary64
50×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023608
162420
2134420
3285420
4562420
51024420
61333420
71388420
81389420
Stop Event
saturated
Counts
114 → 69
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 z (-.f64 x t))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 z (-.f64 x t))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)

localize127.0ms (0.8%)

Local error

Found 1 expressions with local error:

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

Compiled 33 to 18 computations (45.5% saved)

series194.0ms (1.2%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
181.0ms
z
@0
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
5.0ms
y
@-inf
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
1.0ms
x
@0
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
1.0ms
y
@0
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
1.0ms
z
@inf
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
996×pow1_binary64
923×add-log-exp_binary64
922×log1p-expm1-u_binary64
922×expm1-log1p-u_binary64
106×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify66.0ms (0.4%)

Algorithm
egg-herbie
Rules
512×fma-def_binary64
338×fma-neg_binary64
73×cancel-sign-sub-inv_binary64
58×associate--r+_binary64
55×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016270
135214
276212
3167176
4302176
5606176
61216176
71595176
81730176
91748176
Stop Event
saturated
Counts
46 → 32
Calls
Call 1
Inputs
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
Outputs
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 x y))
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(fma.f64 (+.f64 1 z) x (*.f64 (neg.f64 y) x))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 x (-.f64 z y)) x)
(fma.f64 x (-.f64 z y) x)

eval136.0ms (0.8%)

Compiler

Compiled 8683 to 2043 computations (76.5% saved)

prune276.0ms (1.7%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New49512507
Fresh224
Picked101
Done224
Total50016516
Error
0b
Counts
516 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
51.7b
(*.f64 z x)
35.8b
(+.f64 (*.f64 z x) x)
49.8b
(*.f64 t (neg.f64 z))
53.5b
(*.f64 y (neg.f64 x))
40.1b
(*.f64 (-.f64 t x) y)
36.5b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
35.8b
(*.f64 (+.f64 1 z) x)
49.3b
(*.f64 y t)
36.5b
(*.f64 t (-.f64 y z))
34.5b
(+.f64 x (*.f64 z (neg.f64 t)))
38.6b
(-.f64 x (*.f64 x y))
39.1b
(*.f64 z (-.f64 x t))
47.1b
x
27.1b
(+.f64 x (*.f64 x (-.f64 z y)))
23.0b
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
Compiler

Compiled 271 to 186 computations (31.4% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
0.0b
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
Compiler

Compiled 34 to 9 computations (73.5% saved)

series13.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
6.0ms
z
@0
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
1.0ms
z
@inf
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
1.0ms
x
@0
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
1.0ms
t
@0
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
0.0ms
z
@-inf
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))

rewrite106.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
544×fma-def_binary64
506×log-prod_binary64
403×pow-prod-down_binary64
309×fma-neg_binary64
254×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
120815
2326115
Stop Event
node limit
Counts
2 → 258
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 x t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (+.f64 x t))) (/.f64 (pow.f64 (*.f64 z t) 2) (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x t) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2)) (neg.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (*.f64 z x) 2)) (-.f64 (*.f64 z t) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 z (+.f64 x t))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (pow.f64 (exp.f64 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 z) x) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (pow.f64 (exp.f64 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) x) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) t) (+.f64 1 (expm1.f64 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 x t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (+.f64 x t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (+.f64 x t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (cbrt.f64 (*.f64 z t)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (cbrt.f64 (*.f64 z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (cbrt.f64 (*.f64 z x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (cbrt.f64 (*.f64 z x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z -1) t (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 z x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 z x x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (+.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (+.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x)) (sqrt.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2)) (-.f64 x (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))) (neg.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z x x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 z x x) 2) (-.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 z x x) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (+.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z x x) 2) (pow.f64 (*.f64 z t) 2)) (fma.f64 z (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 z (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 z x x)) (pow.f64 (exp.f64 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 z x x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) t) (exp.f64 (fma.f64 z x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (exp.f64 (fma.f64 z x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 x) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z x x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (+.f64 x t) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (+.f64 x t) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z x x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (cbrt.f64 (*.f64 z t)) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (cbrt.f64 (*.f64 z x)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (*.f64 x (*.f64 z t))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z x x) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z -1) t (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 z x x))))))

simplify58.0ms (0.4%)

Algorithm
egg-herbie
Rules
343×fma-def_binary64
256×fma-neg_binary64
59×cancel-sign-sub-inv_binary64
54×unsub-neg_binary64
45×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
029644
179504
2169504
3349504
4696504
51104504
61269504
71294504
81295504
Stop Event
saturated
Counts
330 → 277
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
x
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
Outputs
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
x
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (fma.f64 -1 t x) z)
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize30.0ms (0.2%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 z x) x)
Compiler

Compiled 14 to 6 computations (57.1% saved)

series2.0ms (0%)

Counts
1 → 15
Calls

6 calls:

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

rewrite66.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
633×pow1_binary64
590×add-log-exp_binary64
589×log1p-expm1-u_binary64
589×expm1-log1p-u_binary64
577×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055
11125
216105
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 z x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z x x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z x x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z x x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x)))))

simplify207.0ms (1.3%)

Algorithm
egg-herbie
Rules
66×fma-def_binary64
53×fma-neg_binary64
20×unsub-neg_binary64
16×distribute-lft-in_binary64
16×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01293
12793
25869
313969
423669
533469
639469
Stop Event
saturated
Counts
55 → 45
Calls
Call 1
Inputs
x
(*.f64 z x)
(*.f64 z x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
Outputs
x
(*.f64 z x)
(*.f64 x z)
(*.f64 z x)
(*.f64 x z)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series7.0ms (0%)

Counts
2 → 72
Calls

18 calls:

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

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
974×pow1_binary64
906×add-log-exp_binary64
906×log1p-expm1-u_binary64
906×expm1-log1p-u_binary64
88×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0717
115915
2240615
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 x (-.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (-.f64 z y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x (-.f64 z y)))) (/.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (-.f64 z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (-.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (-.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 2) (cbrt.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (-.f64 z y) x)) (sqrt.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2)) (/.f64 1 (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 z y) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 x (-.f64 z y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (+.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x x) (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2)) (-.f64 x (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2))) (neg.f64 (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (*.f64 x x)) (-.f64 (*.f64 x (-.f64 z y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (-.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (-.f64 z y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (-.f64 z y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (-.f64 z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z y) x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 x (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (-.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 2) (cbrt.f64 (*.f64 x (-.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) (sqrt.f64 (*.f64 x (-.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (-.f64 z y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 (neg.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 z z (*.f64 y (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z z) (*.f64 y y)) x) (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 z z (*.f64 y (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (*.f64 z z) (*.f64 y y))) (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (-.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (-.f64 z y))))))))

simplify129.0ms (0.8%)

Algorithm
egg-herbie
Rules
619×fma-def_binary64
235×fma-neg_binary64
110×distribute-rgt-in_binary64
103×unsub-neg_binary64
101×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024573
161572
2137512
3321512
4707512
51423512
61945512
71949512
Stop Event
saturated
Counts
129 → 71
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
Outputs
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 y x) x)
(fma.f64 (neg.f64 y) x x)
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 1 (-.f64 z y)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 z y))

eval204.0ms (1.3%)

Compiler

Compiled 5609 to 1649 computations (70.6% saved)

prune203.0ms (1.3%)

Pruning

16 alts after pruning (10 fresh and 6 done)

PrunedKeptTotal
New3876393
Fresh549
Picked011
Done156
Total39316409
Error
0b
Counts
409 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
35.8b
(+.f64 (*.f64 z x) x)
39.1b
(*.f64 z (-.f64 x t))
38.6b
(-.f64 x (*.f64 y x))
49.8b
(*.f64 t (neg.f64 z))
53.5b
(*.f64 y (neg.f64 x))
40.1b
(*.f64 (-.f64 t x) y)
36.5b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
49.3b
(*.f64 y t)
36.5b
(*.f64 t (-.f64 y z))
51.7b
(*.f64 z x)
34.5b
(+.f64 x (*.f64 (neg.f64 t) z))
47.1b
x
27.1b
(+.f64 x (*.f64 x (-.f64 z y)))
35.8b
(*.f64 (+.f64 z 1) x)
Compiler

Compiled 234 to 160 computations (31.6% saved)

localize23.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
0.0b
(-.f64 (*.f64 z x) (*.f64 z t))
Compiler

Compiled 29 to 8 computations (72.4% saved)

series8.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
z
@inf
(-.f64 (*.f64 z x) (*.f64 z t))
1.0ms
z
@0
(-.f64 (*.f64 z x) (*.f64 z t))
0.0ms
z
@-inf
(-.f64 (*.f64 z x) (*.f64 z t))
0.0ms
x
@0
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
0.0ms
x
@-inf
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))

rewrite152.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
771×fma-def_binary64
532×log-prod_binary64
394×pow-prod-down_binary64
362×fma-neg_binary64
269×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
119415
2299915
Stop Event
node limit
Counts
2 → 319
Calls
Call 1
Inputs
(-.f64 (*.f64 z x) (*.f64 z t))
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x t) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2)) (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 z (+.f64 x t)) (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2))) (neg.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 t (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (pow.f64 (*.f64 t (neg.f64 z)) 2) (*.f64 (*.f64 z x) (*.f64 t (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 2) (*.f64 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 t (neg.f64 z)) 2)) (-.f64 (*.f64 z x) (*.f64 t (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 2)) (fma.f64 z (-.f64 x t) (neg.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2)) (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 z (+.f64 x t)) (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 z) x) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z x))) (pow.f64 (exp.f64 t) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (pow.f64 (exp.f64 z) (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 t (neg.f64 z))) (pow.f64 (exp.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 t (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) (neg.f64 z)) (+.f64 1 (expm1.f64 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 x t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (neg.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (neg.f64 t) (*.f64 z t)) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t (neg.f64 z)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (neg.f64 (cbrt.f64 (*.f64 z t))) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (neg.f64 (sqrt.f64 (*.f64 z t))) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 t) z (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) 2) (cbrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t (neg.f64 z))) 2) (cbrt.f64 (*.f64 t (neg.f64 z))) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (sqrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t (neg.f64 z))) (sqrt.f64 (*.f64 t (neg.f64 z))) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2)) (cbrt.f64 (*.f64 z t)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) t (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z x) (-.f64 (*.f64 z t) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 z x x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (-.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 z x) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (-.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) (neg.f64 (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z x x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 z x x) 2) (+.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 z x x) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z x x) 2) (pow.f64 (*.f64 z t) 2)) (+.f64 (fma.f64 z x x) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (-.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 z x x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z x x)) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z x x)) (pow.f64 (exp.f64 t) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 x t) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (-.f64 x t) x) 1 (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (-.f64 x t) x) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z x x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z x)) (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 z x) 2))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x) (*.f64 x x))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) x (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) x)))))))

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
248×fma-def_binary64
216×fma-neg_binary64
59×unsub-neg_binary64
47×distribute-rgt-in_binary64
42×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
029612
185504
2185504
3423504
4852504
51104504
61146504
Stop Event
saturated
Counts
391 → 334
Calls
Call 1
Inputs
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
Outputs
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x)
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(fma.f64 z (-.f64 x t) x)

localize5.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 x t))
Compiler

Compiled 15 to 6 computations (60% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 6 computations (57.1% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite216.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
651×pow1_binary64
606×add-log-exp_binary64
606×log1p-expm1-u_binary64
606×expm1-log1p-u_binary64
593×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11137
216547
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(-.f64 x (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 x (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 y) x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 x) y (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 x y)) (fma.f64 (*.f64 x (neg.f64 y)) 1 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (neg.f64 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2) (cbrt.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (sqrt.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 y) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (neg.f64 y)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y))) (*.f64 x (*.f64 x (neg.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y)))) (-.f64 x (*.f64 x (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y)))))))

simplify30.0ms (0.2%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
71×fma-neg_binary64
21×cancel-sign-sub-inv_binary64
20×associate-*r*_binary64
18×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014160
127160
249160
388160
4136160
5223160
6371160
7451160
8519160
9525160
Stop Event
saturated
Counts
64 → 48
Calls
Call 1
Inputs
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
Outputs
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(fma.f64 y (neg.f64 x) x)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
t
@-inf
(*.f64 y (-.f64 t x))
0.0ms
y
@0
(*.f64 y (-.f64 t x))
0.0ms
y
@inf
(*.f64 y (-.f64 t x))
0.0ms
y
@-inf
(*.f64 y (-.f64 t x))
0.0ms
t
@inf
(*.f64 y (-.f64 t x))

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
725×pow1_binary64
672×add-log-exp_binary64
672×log1p-expm1-u_binary64
672×expm1-log1p-u_binary64
657×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11297
217847
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 y (-.f64 t x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t y) (*.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (-.f64 t x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) y) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 t x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 t x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 t x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 t x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (-.f64 t x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 t x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 t x) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 t x))))))))

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
217×fma-def_binary64
132×fma-neg_binary64
41×cancel-sign-sub-inv_binary64
25×distribute-rgt-in_binary64
25×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
09210
117210
235156
358156
486156
5138156
6254156
7410156
8576156
9730156
10744156
Stop Event
saturated
Counts
43 → 24
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
Outputs
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 y t) (*.f64 y x))
(*.f64 y (-.f64 t x))

eval189.0ms (1.2%)

Compiler

Compiled 6878 to 1761 computations (74.4% saved)

prune107.0ms (0.7%)

Pruning

16 alts after pruning (7 fresh and 9 done)

PrunedKeptTotal
New4263429
Fresh145
Picked101
Done1910
Total42916445
Error
0b
Counts
445 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
49.8b
(*.f64 z (neg.f64 t))
49.3b
(*.f64 y t)
39.1b
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
39.1b
(*.f64 z (-.f64 x t))
38.6b
(-.f64 x (*.f64 y x))
47.1b
x
33.8b
(+.f64 (*.f64 y t) x)
40.1b
(*.f64 (-.f64 t x) y)
36.5b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
36.5b
(*.f64 t (-.f64 y z))
35.8b
(+.f64 (*.f64 z x) x)
51.7b
(*.f64 z x)
34.5b
(+.f64 x (*.f64 (neg.f64 t) z))
53.5b
(*.f64 y (neg.f64 x))
27.1b
(+.f64 x (*.f64 x (-.f64 z y)))
35.8b
(*.f64 (+.f64 z 1) x)
Compiler

Compiled 143 to 99 computations (30.8% saved)

regimes392.0ms (2.4%)

Counts
32 → 1
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Outputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Calls

6 calls:

224.0ms
(-.f64 y z)
35.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
34.0ms
z
31.0ms
t
31.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
Compiler

Compiled 241 to 90 computations (62.7% saved)

regimes256.0ms (1.6%)

Counts
31 → 1
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Calls

6 calls:

84.0ms
x
49.0ms
y
30.0ms
z
30.0ms
(-.f64 y z)
27.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
Compiler

Compiled 233 to 89 computations (61.8% saved)

regimes1.6s (9.6%)

Counts
27 → 5
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 x (-.f64 (*.f64 z x) (*.f64 z t)))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
Outputs
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y t) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
Calls

6 calls:

557.0ms
t
342.0ms
(-.f64 y z)
330.0ms
z
162.0ms
(-.f64 y z)
122.0ms
y
Results
ErrorSegmentsBranch
13.8b3x
6.7b5y
8.8b5z
12.7b8t
15.4b8(-.f64 y z)
15.4b8(-.f64 y z)
Compiler

Compiled 180 to 76 computations (57.8% saved)

bsearch134.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
1.1221862075006597e-39
7.862106780188482e-38
18.0ms
1.8827519273200803e-74
3.3255338368397993e-65
20.0ms
2.8254888053718344e-161
6.734230874859484e-155
50.0ms
-7.146527790639123e-18
-1.0523315935971025e-18
Compiler

Compiled 20 to 14 computations (30% saved)

regimes1.0s (6.4%)

Counts
20 → 5
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
Outputs
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 (*.f64 y (-.f64 t x)) x)
(*.f64 z (-.f64 x t))
Calls

6 calls:

312.0ms
(-.f64 y z)
221.0ms
(-.f64 y z)
201.0ms
x
154.0ms
y
83.0ms
t
Results
ErrorSegmentsBranch
14.6b6x
12.4b7y
9.5b5z
17.2b8t
16.0b9(-.f64 y z)
16.0b9(-.f64 y z)
Compiler

Compiled 125 to 61 computations (51.2% saved)

bsearch205.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
82.0ms
4.509960072977815e+19
5.887593493395514e+39
56.0ms
3.7306453993956905e-80
1.0186869713719551e-70
36.0ms
2.8464076454203436e-140
1.1529792757655145e-138
31.0ms
-515.266684896522
-401.74548053723584
Compiler

Compiled 20 to 14 computations (30% saved)

regimes856.0ms (5.3%)

Counts
19 → 7
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(+.f64 x (*.f64 z (neg.f64 t)))
Outputs
(*.f64 (-.f64 t x) y)
(+.f64 x (*.f64 (neg.f64 t) z))
(*.f64 (+.f64 z 1) x)
(+.f64 x (*.f64 (neg.f64 t) z))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 y t) x)
(*.f64 (-.f64 t x) y)
Calls

6 calls:

181.0ms
(-.f64 y z)
174.0ms
(-.f64 y z)
154.0ms
t
143.0ms
z
122.0ms
y
Results
ErrorSegmentsBranch
19.8b3x
13.7b7y
14.2b8z
20.2b9t
16.2b10(-.f64 y z)
16.2b10(-.f64 y z)
Compiler

Compiled 118 to 59 computations (50% saved)

bsearch193.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
3.4110040958713487e+24
1.0476491936710873e+29
31.0ms
2.8254888053718344e-161
6.734230874859484e-155
32.0ms
1.1131909193751116e-244
1.6568829352784198e-244
31.0ms
-5.48865896304011e-288
-2.188020840214476e-289
33.0ms
-1.104467709170796e-256
-6.713096933213507e-258
32.0ms
-7.146527790639123e-18
-1.0523315935971025e-18
Compiler

Compiled 20 to 14 computations (30% saved)

regimes472.0ms (2.9%)

Counts
17 → 6
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
Outputs
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 y t) x)
(*.f64 t (-.f64 y z))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) x)
(*.f64 z (-.f64 x t))
Calls

6 calls:

93.0ms
y
82.0ms
(-.f64 y z)
78.0ms
t
74.0ms
(-.f64 y z)
72.0ms
z
Results
ErrorSegmentsBranch
19.8b3x
15.9b6y
15.4b6z
20.2b9t
18.2b9(-.f64 y z)
18.2b9(-.f64 y z)
Compiler

Compiled 106 to 56 computations (47.2% saved)

bsearch141.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
4.509960072977815e+19
5.887593493395514e+39
29.0ms
-4.916906512291579e-135
-1.4002847261702834e-138
30.0ms
-3.4192777763563525e-114
-1.8148926442066226e-115
32.0ms
-6.421633956521063e-66
-1.0889460563304394e-66
31.0ms
-515.266684896522
-401.74548053723584
Compiler

Compiled 20 to 14 computations (30% saved)

regimes290.0ms (1.8%)

Counts
15 → 8
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
(*.f64 t (-.f64 y z))
Outputs
(*.f64 t (-.f64 y z))
(*.f64 (+.f64 z 1) x)
(*.f64 t (-.f64 y z))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) x)
(*.f64 z x)
(*.f64 t (-.f64 y z))
(*.f64 z x)
Calls

6 calls:

65.0ms
(-.f64 y z)
62.0ms
(-.f64 y z)
57.0ms
z
37.0ms
y
37.0ms
t
Results
ErrorSegmentsBranch
19.8b3x
22.6b5y
19.7b8z
22.4b5t
22.6b9(-.f64 y z)
22.6b9(-.f64 y z)
Compiler

Compiled 96 to 52 computations (45.8% saved)

bsearch161.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
8.196378302016789e+242
8.568437029685005e+245
48.0ms
7.946579593434333e+149
2.2178502795693005e+159
19.0ms
4.509960072977815e+19
5.887593493395514e+39
18.0ms
-4.916906512291579e-135
-1.4002847261702834e-138
19.0ms
-3.4192777763563525e-114
-1.8148926442066226e-115
19.0ms
-1.0889460563304394e-66
-1.5573305244003099e-77
19.0ms
-5.77153786029173e+21
-8.027967877009371e+20
Compiler

Compiled 326 to 235 computations (27.9% saved)

regimes144.0ms (0.9%)

Counts
14 → 7
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 1 z) x)
(-.f64 x (*.f64 x y))
Outputs
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) x)
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 y t) x)
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 y t) x)
(*.f64 (+.f64 z 1) x)
Calls

4 calls:

55.0ms
x
34.0ms
z
28.0ms
y
23.0ms
t
Results
ErrorSegmentsBranch
23.4b7x
24.3b4y
23.5b5z
26.9b3t
Compiler

Compiled 77 to 40 computations (48.1% saved)

bsearch95.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
7.920151886179179e-28
2.225167884180271e-24
19.0ms
1.0253906347513692e-187
2.1413978579610536e-184
19.0ms
3.988417099435108e-232
2.996250599012173e-230
19.0ms
8.900092287523576e-300
2.6219064234199987e-296
19.0ms
-5.4958845846448846e-285
-5.228075567475118e-290
0.0ms
-8.418250380899614e-84
-8.177161538877978e-84
Compiler

Compiled 20 to 14 computations (30% saved)

regimes144.0ms (0.9%)

Counts
10 → 5
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
Outputs
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) x)
(*.f64 z x)
Calls

4 calls:

46.0ms
x
35.0ms
t
32.0ms
y
28.0ms
z
Results
ErrorSegmentsBranch
25.3b8x
28.3b6y
23.8b5z
28.1b5t
Compiler

Compiled 57 to 31 computations (45.6% saved)

bsearch77.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
4.509960072977815e+19
5.887593493395514e+39
20.0ms
-4.916906512291579e-135
-1.4002847261702834e-138
19.0ms
-9.927660450342344e-107
-4.6335483317779056e-107
19.0ms
-1.3392622670540824e+29
-1.56882262076268e+25
Compiler

Compiled 20 to 14 computations (30% saved)

regimes126.0ms (0.8%)

Counts
9 → 3
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) x)
Outputs
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 y t) x)
(*.f64 z x)
Calls

4 calls:

38.0ms
x
35.0ms
t
34.0ms
y
17.0ms
z
Results
ErrorSegmentsBranch
28.9b7x
28.3b6y
25.0b3z
30.1b5t
Compiler

Compiled 52 to 29 computations (44.2% saved)

bsearch38.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
4.509960072977815e+19
5.887593493395514e+39
19.0ms
-1.3392622670540824e+29
-1.56882262076268e+25
Compiler

Compiled 20 to 14 computations (30% saved)

regimes162.0ms (1%)

Counts
8 → 8
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 y (neg.f64 x))
Outputs
(*.f64 y (neg.f64 x))
(*.f64 y t)
x
(*.f64 z (neg.f64 t))
x
(*.f64 z x)
x
(*.f64 y t)
Calls

4 calls:

55.0ms
x
41.0ms
t
38.0ms
y
25.0ms
z
Results
ErrorSegmentsBranch
32.2b10x
31.8b8y
34.7b4z
37.3b8t
Compiler

Compiled 47 to 28 computations (40.4% saved)

bsearch186.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
2.5890732026356553e-10
7.541212814969394e-10
19.0ms
2.8254888053718344e-161
6.734230874859484e-155
19.0ms
1.1131909193751116e-244
1.6568829352784198e-244
19.0ms
-1.9017122512870445e-204
-6.126579129758563e-207
19.0ms
-5.47982240684575e-107
-2.1609674446403292e-108
18.0ms
-7.146527790639123e-18
-1.0523315935971025e-18
69.0ms
-3.303011531046529e+82
-2.8425846108958364e+81
Compiler

Compiled 122 to 92 computations (24.6% saved)

regimes131.0ms (0.8%)

Counts
7 → 9
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
Outputs
x
(*.f64 z (neg.f64 t))
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 y t)
(*.f64 z x)
x
Calls

4 calls:

46.0ms
x
32.0ms
y
27.0ms
t
24.0ms
z
Results
ErrorSegmentsBranch
33.3b9x
33.7b7y
34.7b4z
38.8b6t
Compiler

Compiled 43 to 26 computations (39.5% saved)

bsearch272.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
137.0ms
1.3648881805555198e+81
2.2093273454831618e+87
19.0ms
7.920151886179179e-28
2.225167884180271e-24
20.0ms
1.0253906347513692e-187
2.1413978579610536e-184
18.0ms
3.988417099435108e-232
2.996250599012173e-230
19.0ms
8.900092287523576e-300
2.6219064234199987e-296
20.0ms
-5.4958845846448846e-285
-5.228075567475118e-290
20.0ms
-3.4315903237798376e-224
-7.83288862050079e-225
19.0ms
-4.1006611721142095e-83
-1.2945306547939697e-83
Compiler

Compiled 146 to 113 computations (22.6% saved)

regimes163.0ms (1%)

Counts
5 → 4
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 z x)
(*.f64 y t)
Outputs
(*.f64 z x)
x
(*.f64 y t)
(*.f64 z x)
Calls

4 calls:

70.0ms
t
46.0ms
x
25.0ms
y
20.0ms
z
Results
ErrorSegmentsBranch
38.2b4x
35.8b5y
34.9b4z
37.9b8t
Compiler

Compiled 35 to 22 computations (37.1% saved)

bsearch99.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
4.509960072977815e+19
5.887593493395514e+39
33.0ms
3.7185797476227183e-81
3.7306453993956905e-80
32.0ms
-515.266684896522
-401.74548053723584
Compiler

Compiled 20 to 14 computations (30% saved)

regimes135.0ms (0.8%)

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

4 calls:

46.0ms
t
33.0ms
y
31.0ms
x
23.0ms
z
Results
ErrorSegmentsBranch
44.6b3x
44.2b4y
36.8b3z
42.8b5t
Compiler

Compiled 32 to 21 computations (34.4% saved)

bsearch75.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
39.0ms
7068537.597878154
182925747631640.4
36.0ms
-515.266684896522
-401.74548053723584
Compiler

Compiled 20 to 14 computations (30% saved)

regimes34.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

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

4 calls:

11.0ms
y
7.0ms
t
7.0ms
x
7.0ms
z
Results
ErrorSegmentsBranch
47.1b1x
47.1b1y
47.1b1z
47.1b1t
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify67.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0161788
1198782
2221782
3231782
4235782
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 4794041763080119/254629497041810760783555711051172270131433549208242031329517556169297662470417088272924672) (+.f64 (*.f64 y t) x) (if (<=.f64 y 429936339753991/383123885216472214589586756787577295904684780545900544) (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 (*.f64 y (-.f64 t x)) x)))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6106253920018579/214524926879081553593184399971293538039669853129478294043576983099548224481176751628829988770670454843040509730983776813660062124991145119142938384097345536) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 622547672556811/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3734299203653555/33810849992682575766549746234657062817206228866311777416189485377707129763630391006362704376810060025259161279568456235448470243808171874384034494621628132922136747775936325386798817131291292227393550906125516057865473810736099951285657401521090334495330469177455231893504) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 y -7527866010633639/1371531017198422170813984062796802317518598158983083017528000497114049345439918236791293924884090698403321181334468027936239545965686161975806025929561417574903624675177501566133897549447983506160378135315589948797898488482227042247573189625097864053065113149143877397460535018451535921515162325512880128) (*.f64 (+.f64 z 1) x) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z (-.f64 x t)) (if (<=.f64 y 3411004095871348719484928) (+.f64 (*.f64 y t) x) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z -6091361584274365/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (+.f64 (*.f64 y t) x) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t)))))))
(if (<=.f64 z -5771537860291729555456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -258235062127079/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (*.f64 (+.f64 z 1) x) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (if (<=.f64 z 2199999999999999920710040529670331483612544378959989593600801520065378065349691062591122087604582144270412251536419537947817092240480889814921330324447862718464) (*.f64 z x) (if (<=.f64 z 819999999999999958874632940774243345202685631235855802175127509488122358556421226534524166623829305139927692466063914259189146772449161219214970414991447386968850721587044147874127385887939344792045964752447111643954721115693665897128805793792) (*.f64 t (-.f64 y z)) (*.f64 z x))))))))
(if (<=.f64 x -8967727971610349/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) (-.f64 x (*.f64 y x)) (if (<=.f64 x -7361109545686647/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (+.f64 (*.f64 y t) x) (if (<=.f64 x 6710733226082431/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 x 697167322372587/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (+.f64 (*.f64 y t) x) (if (<=.f64 x 4018615253990257/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8831264457367179/11150372599265311570767859136324180752990208) (+.f64 (*.f64 y t) x) (*.f64 (+.f64 z 1) x)))))))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -8203423996027117/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (+.f64 (*.f64 y t) x) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z x)))))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z x)))
(if (<=.f64 y -31999999999999997481020156661305047741936103969893883257919943171938052749756727296) (*.f64 y (neg.f64 x)) (if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 y t) (if (<=.f64 y -4528086637444911/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) x (if (<=.f64 y -5370461943081043/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 z (neg.f64 t)) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) x (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z x) (if (<=.f64 y 1251998977415433/4835703278458516698824704) x (*.f64 y t))))))))
(if (<=.f64 x -5605733825497725/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) x (if (<=.f64 x -55863998551501/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (*.f64 z (neg.f64 t)) (if (<=.f64 x -7361109545686647/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y t) (if (<=.f64 x 6710733226082431/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 x 697167322372587/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 y t) (if (<=.f64 x 4018615253990257/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8831264457367179/11150372599265311570767859136324180752990208) (*.f64 y t) (if (<=.f64 x 1399999999999999974044465188777845197044126695619203247650073834211578811250638848) (*.f64 z x) x))))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z x) (if (<=.f64 z 496427383310011/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536) x (if (<=.f64 z 45099600729778151424) (*.f64 y t) (*.f64 z x))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z x) (if (<=.f64 z 1897446113339567/268435456) x (*.f64 z x)))
x
Outputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 4794041763080119/254629497041810760783555711051172270131433549208242031329517556169297662470417088272924672) (+.f64 (*.f64 y t) x) (if (<=.f64 y 429936339753991/383123885216472214589586756787577295904684780545900544) (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 (*.f64 y (-.f64 t x)) x)))))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (+.f64 x (*.f64 y (-.f64 t x))) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 4794041763080119/254629497041810760783555711051172270131433549208242031329517556169297662470417088272924672) (+.f64 x (*.f64 y t)) (if (<=.f64 y 429936339753991/383123885216472214589586756787577295904684780545900544) (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 x (*.f64 y (-.f64 t x)))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6106253920018579/214524926879081553593184399971293538039669853129478294043576983099548224481176751628829988770670454843040509730983776813660062124991145119142938384097345536) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 622547672556811/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6106253920018579/214524926879081553593184399971293538039669853129478294043576983099548224481176751628829988770670454843040509730983776813660062124991145119142938384097345536) (+.f64 x (*.f64 y (-.f64 t x))) (if (<=.f64 z 622547672556811/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6106253920018579/214524926879081553593184399971293538039669853129478294043576983099548224481176751628829988770670454843040509730983776813660062124991145119142938384097345536) (+.f64 x (*.f64 y (-.f64 t x))) (if (<=.f64 z 622547672556811/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (-.f64 x (*.f64 z t)) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 x t))))))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3734299203653555/33810849992682575766549746234657062817206228866311777416189485377707129763630391006362704376810060025259161279568456235448470243808171874384034494621628132922136747775936325386798817131291292227393550906125516057865473810736099951285657401521090334495330469177455231893504) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 y -7527866010633639/1371531017198422170813984062796802317518598158983083017528000497114049345439918236791293924884090698403321181334468027936239545965686161975806025929561417574903624675177501566133897549447983506160378135315589948797898488482227042247573189625097864053065113149143877397460535018451535921515162325512880128) (*.f64 (+.f64 z 1) x) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (+.f64 x (*.f64 (neg.f64 t) z)) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z (-.f64 x t)) (if (<=.f64 y 3411004095871348719484928) (+.f64 (*.f64 y t) x) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3734299203653555/33810849992682575766549746234657062817206228866311777416189485377707129763630391006362704376810060025259161279568456235448470243808171874384034494621628132922136747775936325386798817131291292227393550906125516057865473810736099951285657401521090334495330469177455231893504) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -7527866010633639/1371531017198422170813984062796802317518598158983083017528000497114049345439918236791293924884090698403321181334468027936239545965686161975806025929561417574903624675177501566133897549447983506160378135315589948797898488482227042247573189625097864053065113149143877397460535018451535921515162325512880128) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z (-.f64 x t)) (if (<=.f64 y 3411004095871348719484928) (+.f64 x (*.f64 y t)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3734299203653555/33810849992682575766549746234657062817206228866311777416189485377707129763630391006362704376810060025259161279568456235448470243808171874384034494621628132922136747775936325386798817131291292227393550906125516057865473810736099951285657401521090334495330469177455231893504) (-.f64 x (*.f64 z t)) (if (<=.f64 y -7527866010633639/1371531017198422170813984062796802317518598158983083017528000497114049345439918236791293924884090698403321181334468027936239545965686161975806025929561417574903624675177501566133897549447983506160378135315589948797898488482227042247573189625097864053065113149143877397460535018451535921515162325512880128) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (-.f64 x (*.f64 z t)) (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z (-.f64 x t)) (if (<=.f64 y 3411004095871348719484928) (+.f64 x (*.f64 y t)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z -6091361584274365/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (+.f64 (*.f64 y t) x) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t)))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z (-.f64 x t)) (if (<=.f64 z -6091361584274365/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (+.f64 x (*.f64 y t)) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 (-.f64 y z) t) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y t)) (*.f64 z (-.f64 x t)))))))
(if (<=.f64 z -5771537860291729555456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -258235062127079/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (*.f64 (+.f64 z 1) x) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 t (-.f64 y z)) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (if (<=.f64 z 2199999999999999920710040529670331483612544378959989593600801520065378065349691062591122087604582144270412251536419537947817092240480889814921330324447862718464) (*.f64 z x) (if (<=.f64 z 819999999999999958874632940774243345202685631235855802175127509488122358556421226534524166623829305139927692466063914259189146772449161219214970414991447386968850721587044147874127385887939344792045964752447111643954721115693665897128805793792) (*.f64 t (-.f64 y z)) (*.f64 z x))))))))
(if (<=.f64 z -5771537860291729555456) (*.f64 (-.f64 y z) t) (if (<=.f64 z -258235062127079/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (*.f64 x (+.f64 z 1)) (if (<=.f64 z -2370131966571017/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (*.f64 (-.f64 y z) t) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y t)) (if (<=.f64 z 2199999999999999920710040529670331483612544378959989593600801520065378065349691062591122087604582144270412251536419537947817092240480889814921330324447862718464) (*.f64 z x) (if (<=.f64 z 819999999999999958874632940774243345202685631235855802175127509488122358556421226534524166623829305139927692466063914259189146772449161219214970414991447386968850721587044147874127385887939344792045964752447111643954721115693665897128805793792) (*.f64 (-.f64 y z) t) (*.f64 z x))))))))
(if (<=.f64 x -8967727971610349/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) (-.f64 x (*.f64 y x)) (if (<=.f64 x -7361109545686647/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (+.f64 (*.f64 y t) x) (if (<=.f64 x 6710733226082431/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 x 697167322372587/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (+.f64 (*.f64 y t) x) (if (<=.f64 x 4018615253990257/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8831264457367179/11150372599265311570767859136324180752990208) (+.f64 (*.f64 y t) x) (*.f64 (+.f64 z 1) x)))))))
(if (<=.f64 x -8967727971610349/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) (-.f64 x (*.f64 y x)) (if (<=.f64 x -7361109545686647/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (+.f64 x (*.f64 y t)) (if (<=.f64 x 6710733226082431/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 x 697167322372587/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (+.f64 x (*.f64 y t)) (if (<=.f64 x 4018615253990257/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8831264457367179/11150372599265311570767859136324180752990208) (+.f64 x (*.f64 y t)) (*.f64 x (+.f64 z 1))))))))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -8203423996027117/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (+.f64 (*.f64 y t) x) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z x)))))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -8203423996027117/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (+.f64 x (*.f64 y t)) (if (<=.f64 z -8047477798619315/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (-.f64 x (*.f64 y x)) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y t)) (*.f64 z x)))))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z 45099600729778151424) (+.f64 (*.f64 y t) x) (*.f64 z x)))
(if (<=.f64 z -133926226705408243584674562048) (*.f64 z (neg.f64 t)) (if (<=.f64 z 45099600729778151424) (+.f64 x (*.f64 y t)) (*.f64 z x)))
(if (<=.f64 y -31999999999999997481020156661305047741936103969893883257919943171938052749756727296) (*.f64 y (neg.f64 x)) (if (<=.f64 y -289897607787245/40564819207303340847894502572032) (*.f64 y t) (if (<=.f64 y -4528086637444911/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) x (if (<=.f64 y -5370461943081043/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 z (neg.f64 t)) (if (<=.f64 y 6846299800273901/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) x (if (<=.f64 y 3578005916622737/126633165554229521438977290762059361297987250739820462036000284719563379254544315991201997343356439034674007770120263341747898897565056619503383631412169301973302667340133957632) (*.f64 z x) (if (<=.f64 y 1251998977415433/4835703278458516698824704) x (*.f64 y t))))))))
(if (<=.f64 x -5605733825497725/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) x (if (<=.f64 x -55863998551501/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (*.f64 z (neg.f64 t)) (if (<=.f64 x -7361109545686647/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y t) (if (<=.f64 x 6710733226082431/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 x 697167322372587/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 y t) (if (<=.f64 x 4018615253990257/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8831264457367179/11150372599265311570767859136324180752990208) (*.f64 y t) (if (<=.f64 x 1399999999999999974044465188777845197044126695619203247650073834211578811250638848) (*.f64 z x) x))))))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z x) (if (<=.f64 z 496427383310011/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536) x (if (<=.f64 z 45099600729778151424) (*.f64 y t) (*.f64 z x))))
(if (<=.f64 z -4532333691594545/8796093022208) (*.f64 z x) (if (<=.f64 z 1897446113339567/268435456) x (*.f64 z x)))
x
Compiler

Compiled 603 to 319 computations (47.1% saved)

soundness638.0ms (3.9%)

Algorithm
egg-herbie
Rules
2262×fma-neg_binary64
697×fma-def_binary64
683×unsub-neg_binary64
303×distribute-rgt-in_binary64
280×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
11511
23711
312311
447111
5155711
6303411
7414811
8518011
9543811
10544911
11544911
12549111
13549111
14549111
15776511
16776511
17776511
Stop Event
saturated
Compiler

Compiled 38 to 23 computations (39.5% saved)

end254.0ms (1.6%)

Compiler

Compiled 547 to 209 computations (61.8% saved)

Profiling

Loading profile data...