Details

Time bar (total: 15.8s)

analyze313.0ms (2%)

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)

sample1.6s (9.8%)

Results
1.0s8256×body256valid
477.0ms3888×body256invalid

preprocess89.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)

simplify280.0ms (1.8%)

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)

prune2.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
(fma.f64 (-.f64 y z) (-.f64 t x) x)
0.0b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Compiler

Compiled 25 to 15 computations (40% saved)

localize20.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)

series18.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
2.0ms
t
@-inf
(*.f64 (-.f64 y z) (-.f64 t x))
1.0ms
x
@0
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
1.0ms
z
@inf
(*.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))

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)))))

simplify320.0ms (2%)

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)

localize8.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)

rewrite58.0ms (0.4%)

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))))))

simplify297.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)

eval30.0ms (0.2%)

Compiler

Compiled 2622 to 668 computations (74.5% saved)

prune38.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
30.5b
(+.f64 x (*.f64 x (-.f64 z y)))
37.9b
(*.f64 z (-.f64 x t))
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
30.5b
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
28.3b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
38.0b
(*.f64 (-.f64 t x) y)
25.1b
(+.f64 x (*.f64 z (-.f64 x t)))
32.6b
(*.f64 t (-.f64 y z))
Compiler

Compiled 238 to 148 computations (37.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 10 computations (80% saved)

series60.0ms (0.4%)

Counts
4 → 168
Calls

42 calls:

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

rewrite126.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
722×fma-def_binary64
636×log-prod_binary64
401×fma-neg_binary64
224×expm1-udef_binary64
224×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify370.0ms (2.3%)

Algorithm
egg-herbie
Rules
2388×fma-neg_binary64
861×fma-def_binary64
557×sub-neg_binary64
531×associate-+l-_binary64
494×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0702350
12111843
25401481
315171409
438531409
547011409
649421409
749541409
849541409
955891409
1059801409
1159801409
Stop Event
node limit
Counts
492 → 370
Calls
Call 1
Inputs
(*.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)))
(*.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 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.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))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y 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 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) 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 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 -1 (*.f64 t z))
(*.f64 (neg.f64 t) z)
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x)))))
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x))
(+.f64 x (*.f64 z (-.f64 x t)))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 y t (fma.f64 -1 (*.f64 x y) x))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 z t) (*.f64 y t))
(*.f64 (-.f64 y z) t)
(+.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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) 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 (-.f64 y z) t x) (*.f64 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)

localize47.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite93.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 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))))))))

simplify38.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))

localize12.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)

series8.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite66.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 (-.f64 t x) y)
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 (-.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 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 (-.f64 t x) y) 1)))) (#(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 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 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 cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 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 cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 t x) 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)))))))

simplify57.0ms (0.4%)

Algorithm
egg-herbie
Rules
202×fma-def_binary64
124×fma-neg_binary64
43×cancel-sign-sub-inv_binary64
35×distribute-rgt-in_binary64
26×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
011330
122240
240240
361240
492240
5158240
6287240
7420240
8598240
9736240
10748240
Stop Event
saturated
Counts
55 → 25
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)))
(*.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 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.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 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 t x))
(fma.f64 y t (neg.f64 (*.f64 y x)))

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series19.0ms (0.1%)

Counts
2 → 60
Calls

18 calls:

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

rewrite81.0ms (0.5%)

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 x (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
Outputs
((#(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)))))))
((#(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))))))))

simplify111.0ms (0.7%)

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
023528
162420
2134420
3285420
4562420
51025420
61333420
71388420
81389420
Stop Event
saturated
Counts
114 → 68
Calls
Call 1
Inputs
(*.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))
(*.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))
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 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 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))
(+.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))
(+.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 (*.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 (*.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 (*.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))
(neg.f64 (*.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))
(neg.f64 (*.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))

localize55.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 10 computations (80% saved)

series23.0ms (0.1%)

Counts
3 → 132
Calls

33 calls:

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

rewrite239.0ms (1.5%)

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
01136
125728
2408528
Stop Event
node limit
Counts
3 → 285
Calls
Call 1
Inputs
(+.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) (neg.f64 z))
Outputs
((#(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 y z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2) (*.f64 (-.f64 t x) (+.f64 y z))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 t x) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y 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 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y z) (-.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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.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 y z)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (-.f64 t x) (+.f64 y 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) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.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 t x) y) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) (neg.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.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 y 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)) (+.f64 y z)) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.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 y z)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 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 t x) (+.f64 y z)))))))) (#(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) 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 cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 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 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 1))))) (#(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 (cbrt.f64 (pow.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) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y 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 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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 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 (*.f64 (-.f64 t x) (+.f64 y z)) 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 y z)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z)) 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) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 (cbrt.f64 (pow.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) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) (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 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y 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 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) (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 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y 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 (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 (cbrt.f64 (pow.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 (-.f64 t x) z)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 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 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 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 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (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 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y 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 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 t x)) (*.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)) 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 (cbrt.f64 (pow.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 y z)) (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 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y 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 (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 (cbrt.f64 (pow.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 (*.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 (-.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 (cbrt.f64 (pow.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 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (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 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y 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 (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 t x)) (*.f64 (sqrt.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 (cbrt.f64 (pow.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 y z)) (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 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y 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 (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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.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 (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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.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 -1 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.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))) (cbrt.f64 (pow.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) (pow.f64 (cbrt.f64 z) 2)) (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) -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 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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 -.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 y z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 t x) (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2) (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (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 y z)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3)) (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (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 y z)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (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 y z)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(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 y z)) 2) (*.f64 x x)) (fma.f64 (-.f64 t x) (+.f64 y z) (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 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 y z) 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 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(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 y z)))) (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 y z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z)))) (+.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 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(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) z (fma.f64 (-.f64 t x) y 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 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 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 (*.f64 (-.f64 t x) (+.f64 y z)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(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) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) 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 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) 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 (-.f64 t x) z)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 (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 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 t x)) (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)) 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 y z)) 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 (*.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 (-.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 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y 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 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 (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 y z)) 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 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.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 y z) (-.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) (pow.f64 (cbrt.f64 z) 2)) (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) -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 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 +.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)))))))

simplify511.0ms (3.2%)

Algorithm
egg-herbie
Rules
2842×fma-neg_binary64
470×fma-def_binary64
460×associate-+l-_binary64
446×sub-neg_binary64
372×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0641989
12061715
25561169
316291169
439071169
549761169
651851169
752091169
852091169
956461169
1057581169
1157581169
1279841169
1379841169
1479841169
Stop Event
saturated
Counts
417 → 322
Calls
Call 1
Inputs
(+.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 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)))
Outputs
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(*.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(*.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(*.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(*.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(+.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 z y) (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(*.f64 y (-.f64 t x))
(+.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(*.f64 y (-.f64 t x))
(+.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(*.f64 y (-.f64 t x))
(+.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.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 z y) (-.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 z y) (-.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 z y) (-.f64 x t))
(+.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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 y (-.f64 t 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 y (-.f64 t 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 y (-.f64 t x)) x)
(fma.f64 y (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 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 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 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 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) 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 y t)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))

eval303.0ms (1.9%)

Compiler

Compiled 15530 to 3534 computations (77.2% saved)

prune155.0ms (1%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New82510835
Fresh404
Picked101
Done134
Total83113844
Error
0b
Counts
844 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
49.7b
x
52.0b
(*.f64 x (neg.f64 y))
25.1b
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
41.3b
(*.f64 (+.f64 1 z) x)
38.0b
(*.f64 (-.f64 t x) y)
46.5b
(*.f64 t (neg.f64 z))
49.3b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))
48.7b
(*.f64 y t)
37.9b
(*.f64 z (-.f64 x t))
30.5b
(+.f64 x (*.f64 x (-.f64 z y)))
32.6b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
25.1b
(+.f64 x (*.f64 z (-.f64 x t)))
32.6b
(*.f64 t (-.f64 y z))
Compiler

Compiled 224 to 151 computations (32.6% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 34 to 9 computations (73.5% saved)

series9.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite101.0ms (0.6%)

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 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x z 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 x z x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 x z x) 2) (-.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 x z 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 x z 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 x z x)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 x z 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 t) z) (exp.f64 (fma.f64 x z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (exp.f64 (fma.f64 x z 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 x z 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 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 z x (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 x z 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 z) 1 (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (fma.f64 x z 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 x z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (fma.f64 x z 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 x z 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 x z 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 (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 x z 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 x z 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 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.f64 x z)) (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 x z 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 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 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (fma.f64 x z 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 x z x) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x z x)) 2) (cbrt.f64 (fma.f64 x z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x z x)) (sqrt.f64 (fma.f64 x z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 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 (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 z -1) t (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 x z x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (*.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 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x (*.f64 z (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3)) (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (*.f64 z (*.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 x z) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 z t) (*.f64 x z)))))) (#(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 x (*.f64 z (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 x z) 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 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.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 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(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 x z) (*.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 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 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 x z))))) (#(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 (*.f64 x z) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 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 x z) 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 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (*.f64 x z))))) (#(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 x z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.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 1 (*.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 1 (*.f64 z t) (*.f64 x z))))) (#(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 x z))))) (#(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 (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 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (cbrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 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 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 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 x z) 2)) (cbrt.f64 (*.f64 x z)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.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 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.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 (+.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 x z))))) (#(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 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 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.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 (*.f64 x z)) (sqrt.f64 (*.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 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.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 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.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 x z))))) (#(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 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 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 (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 z -1) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 x z))))))

simplify62.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
51102504
61267504
71292504
81293504
Stop Event
saturated
Counts
330 → 276
Calls
Call 1
Inputs
(*.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))
(*.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))
Outputs
(*.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 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 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 z x 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 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 z (-.f64 x t) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.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 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 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 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t x))
(*.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 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 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 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))
(*.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 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))
(*.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 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 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t 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 (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t 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 (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t 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 (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize8.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 10 computations (33.3% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
604×pow1_binary64
560×add-log-exp_binary64
560×log1p-expm1-u_binary64
560×expm1-log1p-u_binary64
549×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×fma-def_binary64
associate-*r*_binary64
associate-*l*_binary64
*-lft-identity_binary64
*-rgt-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0554
11154
21654
32254
42854
54154
64554
74754
Stop Event
saturated
Counts
31 → 23
Calls
Call 1
Inputs
x
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(*.f64 z x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(*.f64 z x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
Outputs
x
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(fma.f64 x z x)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 24 to 8 computations (66.7% saved)

series7.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
835×pow1_binary64
773×add-log-exp_binary64
772×log1p-expm1-u_binary64
772×expm1-log1p-u_binary64
756×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
089
11767
225637
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y t) (*.f64 t 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 (pow.f64 (*.f64 y t) 2) (*.f64 t (+.f64 y z))) (/.f64 (pow.f64 (*.f64 t z) 2) (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (/.f64 1 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t (+.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)) (cbrt.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 t (+.f64 y z))) (sqrt.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y z) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 t z))) (-.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))) (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 t (+.f64 y z)) (pow.f64 (*.f64 t (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 t (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 y t) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)) (neg.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 y t) 2)) (-.f64 (*.f64 t z) (*.f64 y t)))))) (#(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 pow.f64 (*.f64 t (+.f64 y z)) 1)))) (#(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 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))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y t (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t y (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y t) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y t)) 2) (cbrt.f64 (*.f64 y t)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 y t)) (*.f64 t z))))))

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Rules
160×fma-def_binary64
110×fma-neg_binary64
31×unsub-neg_binary64
30×cancel-sign-sub-inv_binary64
27×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
016360
146240
2102240
3190240
4328240
5512240
6626240
7667240
Stop Event
saturated
Counts
80 → 52
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 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.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 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.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 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.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 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.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 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))

eval81.0ms (0.5%)

Compiler

Compiled 5047 to 1476 computations (70.8% saved)

prune68.0ms (0.4%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New3474351
Fresh145
Picked101
Done167
Total35014364
Error
0b
Counts
364 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
49.7b
x
52.0b
(*.f64 x (neg.f64 y))
41.3b
(*.f64 (+.f64 1 z) x)
38.0b
(*.f64 (-.f64 t x) y)
25.1b
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t)))
53.9b
(*.f64 z x)
48.7b
(*.f64 y t)
37.9b
(*.f64 z (-.f64 x t))
30.5b
(+.f64 x (*.f64 x (-.f64 z y)))
25.1b
(+.f64 x (*.f64 z (-.f64 x t)))
49.3b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))
46.5b
(*.f64 z (neg.f64 t))
32.6b
(*.f64 t (-.f64 y z))
32.6b
(-.f64 (*.f64 y t) (*.f64 t z))
Compiler

Compiled 210 to 139 computations (33.8% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 8 computations (72.4% saved)

series5.0ms (0%)

Counts
2 → 72
Calls

18 calls:

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

rewrite120.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
680×fma-def_binary64
517×log-prod_binary64
378×pow-prod-down_binary64
325×fma-neg_binary64
266×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0823
119217
2290415
Stop Event
node limit
Counts
2 → 301
Calls
Call 1
Inputs
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t)))
(-.f64 (*.f64 x z) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (-.f64 (*.f64 z t) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x z 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 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 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 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 (fma.f64 x z x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 x z x) 2) (+.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 x z x) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x z x) 2) (pow.f64 (*.f64 z t) 2)) (+.f64 (fma.f64 x z 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 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))) -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 x z 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 x z 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 x z 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 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 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 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 (*.f64 x z) 1 (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 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 x z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (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 x z 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 (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 (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 (*.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 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (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 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 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 (*.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 x z)) (sqrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 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 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 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 x z) 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 (pow.f64 (cbrt.f64 (fma.f64 x z x)) 2) (cbrt.f64 (fma.f64 x z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x z x)) (sqrt.f64 (fma.f64 x z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 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)))))) (#(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 +.f64 (*.f64 x z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.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 +.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 x z))))) (#(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 (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 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z) 2)) (-.f64 (pow.f64 (*.f64 x z) 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 x z) 2) (pow.f64 (*.f64 z t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 t (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 t (neg.f64 z)) 2) (*.f64 (*.f64 x z) (*.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 x z) 2) (pow.f64 (*.f64 t (neg.f64 z)) 2)) (-.f64 (*.f64 x z) (*.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)) (-.f64 (*.f64 z (-.f64 x t)) (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 x z) 2)) (-.f64 (pow.f64 (*.f64 x z) 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 x z) 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 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (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 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 t (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) (neg.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(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 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 (*.f64 3 (log.f64 (*.f64 z (-.f64 x t)))) 1/3))))) (#(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 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 x z))))) (#(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 (*.f64 x z) 1 (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 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 x z) 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 x z))))) (#(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 x z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.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 1 (*.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 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 x z))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (neg.f64 (cbrt.f64 (*.f64 z t))) (*.f64 x z))))) (#(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 (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 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 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 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 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 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.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 (*.f64 x z)) 2) (cbrt.f64 (*.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 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 t)) (neg.f64 (sqrt.f64 (*.f64 z t))) (*.f64 x z))))) (#(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 (-.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 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.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 (*.f64 x z)) (sqrt.f64 (*.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 (neg.f64 t) z (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 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 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 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 x z) 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 x z) 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 x z) 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 x z) 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 x z) 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 x z))))) (#(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 x z))))) (#(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 (sqrt.f64 (*.f64 t (neg.f64 z))) (sqrt.f64 (*.f64 t (neg.f64 z))) (*.f64 x z))))) (#(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 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (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 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 x z))))) (#(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 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)))))))))

simplify99.0ms (0.6%)

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
51102504
61144504
Stop Event
saturated
Counts
373 → 316
Calls
Call 1
Inputs
(*.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))
(*.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 (-.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 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))
Outputs
(*.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 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))
(+.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 -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 t z) (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 t z) (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 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))
(*.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 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))
(*.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 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))
(*.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 (-.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 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))

localize7.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize47.0ms (0.3%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series12.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite88.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 z y))
(+.f64 x (*.f64 x (-.f64 z y)))
Outputs
((#(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))))))))
((#(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)))))))

simplify194.0ms (1.2%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
243×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
162572
2138512
3322512
4708512
51427512
61955512
71959512
Stop Event
saturated
Counts
129 → 70
Calls
Call 1
Inputs
(*.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)))
(*.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))))
Outputs
(*.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))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 z y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 z x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x x)

eval217.0ms (1.4%)

Compiler

Compiled 6548 to 1693 computations (74.1% saved)

prune250.0ms (1.6%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New4033406
Fresh123
Picked011
Done1910
Total40515420
Error
0b
Counts
420 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
39.0b
(*.f64 x (-.f64 1 y))
48.7b
(*.f64 y t)
41.3b
(*.f64 (+.f64 1 z) x)
38.0b
(*.f64 (-.f64 t x) y)
25.1b
(+.f64 x (*.f64 z (-.f64 x t)))
49.7b
x
37.9b
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
32.6b
(*.f64 t (-.f64 y z))
37.9b
(*.f64 z (-.f64 x t))
52.0b
(*.f64 x (neg.f64 y))
30.5b
(+.f64 x (*.f64 x (-.f64 z y)))
53.9b
(*.f64 z x)
49.3b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))
46.5b
(*.f64 z (neg.f64 t))
32.6b
(-.f64 (*.f64 y t) (*.f64 t z))
Compiler

Compiled 142 to 97 computations (31.7% saved)

regimes267.0ms (1.7%)

Counts
28 → 1
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 x (neg.f64 y))
(*.f64 t (neg.f64 z))
(*.f64 x (-.f64 1 y))
(*.f64 (+.f64 1 z) x)
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(*.f64 t (-.f64 y z))
(-.f64 (*.f64 y t) (*.f64 t z))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 x (-.f64 (*.f64 x z) (*.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 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))
(+.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))))
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Outputs
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
Calls

6 calls:

78.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
51.0ms
(-.f64 y z)
34.0ms
y
30.0ms
x
29.0ms
t
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 92 computations (61.8% saved)

regimes102.0ms (0.6%)

Counts
25 → 1
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 y t)
(*.f64 z (neg.f64 t))
(*.f64 x (neg.f64 y))
(*.f64 t (neg.f64 z))
(*.f64 x (-.f64 1 y))
(*.f64 (+.f64 1 z) x)
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(*.f64 t (-.f64 y z))
(-.f64 (*.f64 y t) (*.f64 t z))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 x (-.f64 (*.f64 x z) (*.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 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Calls

6 calls:

16.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
16.0ms
t
15.0ms
(-.f64 y z)
15.0ms
z
14.0ms
y
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 202 to 83 computations (58.9% saved)

regimes483.0ms (3%)

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

6 calls:

119.0ms
x
118.0ms
(-.f64 y z)
111.0ms
(-.f64 y z)
68.0ms
z
31.0ms
y
Results
ErrorSegmentsBranch
12.2b8x
8.5b3y
17.1b6z
14.6b3t
16.4b11(-.f64 y z)
16.4b11(-.f64 y z)
Compiler

Compiled 150 to 68 computations (54.7% saved)

bsearch78.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
7.693514291710784e-5
0.0018098950664977615
59.0ms
-8.666483375536832e-26
-3.991867256719067e-34
Compiler

Compiled 20 to 14 computations (30% saved)

regimes1.1s (6.9%)

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

6 calls:

496.0ms
(-.f64 y z)
297.0ms
x
129.0ms
(-.f64 y z)
69.0ms
z
65.0ms
t
Results
ErrorSegmentsBranch
12.2b8x
8.6b3y
17.1b6z
14.6b3t
16.4b11(-.f64 y z)
16.4b11(-.f64 y z)
Compiler

Compiled 132 to 59 computations (55.3% saved)

bsearch39.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
7.693514291710784e-5
0.0018098950664977615
19.0ms
-8.666483375536832e-26
-3.991867256719067e-34
Compiler

Compiled 20 to 14 computations (30% saved)

regimes636.0ms (4%)

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

6 calls:

266.0ms
z
129.0ms
(-.f64 y z)
102.0ms
(-.f64 y z)
60.0ms
x
49.0ms
y
Results
ErrorSegmentsBranch
13.4b5x
18.1b6y
17.4b6z
14.6b3t
20.7b9(-.f64 y z)
20.7b9(-.f64 y z)
Compiler

Compiled 109 to 55 computations (49.5% saved)

bsearch129.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
3.359524365205439e-136
2.6074429311187954e-131
65.0ms
-2.0767996121179675e-130
-1.1160440859916705e-155
20.0ms
-2.077501522938541e-76
-1.2570543729249919e-79
22.0ms
-8.324210229537707e-5
-1.4416153882673486e-14
Compiler

Compiled 20 to 14 computations (30% saved)

regimes699.0ms (4.4%)

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

6 calls:

186.0ms
y
182.0ms
(-.f64 y z)
108.0ms
x
91.0ms
z
74.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
18.5b5x
18.1b6y
16.6b7z
19.4b5t
22.0b8(-.f64 y z)
22.0b8(-.f64 y z)
Compiler

Compiled 95 to 52 computations (45.3% saved)

bsearch504.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
1.3280408181975403e+83
1.4839378511603035e+85
25.0ms
4.259444718528736e-52
6.932607426806193e-52
226.0ms
-1.8524732000887693e-251
-7.931336033395818e-252
61.0ms
-5.111821802260853e-175
-1.3955548632070793e-175
34.0ms
-5.190611572170201e-157
-8.957886695410014e-162
88.0ms
-7.007981713237211e+35
-2.1259619406245948e+29
Compiler

Compiled 160 to 112 computations (30% saved)

regimes405.0ms (2.6%)

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

4 calls:

159.0ms
t
131.0ms
z
58.0ms
x
54.0ms
y
Results
ErrorSegmentsBranch
23.5b8x
19.3b4y
18.5b7z
23.1b14t
Compiler

Compiled 69 to 38 computations (44.9% saved)

bsearch152.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
49.0ms
8578310779419896.0
40673261218141850.0
24.0ms
-7.23952892636311e-240
-6.819103657292353e-248
20.0ms
-7.162361671172863e-175
-5.111821802260853e-175
19.0ms
-1.5546354866815251e-117
-1.7591617952321886e-131
20.0ms
-1.6270250635975512e-73
-6.750541191287155e-74
18.0ms
-2.1259619406245948e+29
-1.4350641942146056e+20
Compiler

Compiled 20 to 14 computations (30% saved)

regimes847.0ms (5.3%)

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

4 calls:

291.0ms
y
268.0ms
t
211.0ms
x
74.0ms
z
Results
ErrorSegmentsBranch
24.8b11x
27.0b8y
21.4b3z
25.9b11t
Compiler

Compiled 64 to 36 computations (43.8% saved)

bsearch246.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
38.0ms
8578310779419896.0
40673261218141850.0
208.0ms
-2.0346825655335534e-53
-2.258214842452422e-58
Compiler

Compiled 20 to 14 computations (30% saved)

regimes208.0ms (1.3%)

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

4 calls:

81.0ms
t
56.0ms
x
49.0ms
y
19.0ms
z
Results
ErrorSegmentsBranch
28.2b7x
29.2b6y
29.7b3z
27.6b9t
Compiler

Compiled 54 to 34 computations (37% saved)

bsearch532.0ms (3.4%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.1007889468099937e+241
7.867057228652307e+242
247.0ms
4.259262790416976e+102
6.580252325450169e+109
21.0ms
5.748772590044842e-59
1.9054845442530845e-54
51.0ms
2.204735548068541e-244
2.9660136826509476e-241
21.0ms
-5.461477990130282e-198
-2.1348063213376837e-198
22.0ms
-3.6285335236416727e-32
-1.6512717905837643e-37
50.0ms
-87298855460230.84
-1.1730037608848405e-9
101.0ms
-1.8945593984044976e+78
-1.7340319299203074e+75
Compiler

Compiled 428 to 326 computations (23.8% saved)

regimes258.0ms (1.6%)

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

4 calls:

108.0ms
t
56.0ms
x
48.0ms
y
17.0ms
z
Results
ErrorSegmentsBranch
27.9b9x
32.6b7y
29.7b3z
29.2b9t
Compiler

Compiled 49 to 31 computations (36.7% saved)

bsearch408.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
79.0ms
6.146832043866018e+128
1.0348945972383388e+132
20.0ms
471.834573214522
13225.619125454406
32.0ms
3.359524365205439e-136
2.6074429311187954e-131
20.0ms
1.3511552911379865e-245
3.258655783112782e-242
162.0ms
-6.002752192702717e-227
-2.7378933525683195e-227
22.0ms
-2.0767996121179675e-130
-1.1160440859916705e-155
50.0ms
-2.077501522938541e-76
-1.2570543729249919e-79
24.0ms
-1.355287350729905e-26
-1.5428936013530506e-32
Compiler

Compiled 164 to 126 computations (23.2% saved)

regimes213.0ms (1.3%)

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

4 calls:

76.0ms
x
61.0ms
y
47.0ms
t
24.0ms
z
Results
ErrorSegmentsBranch
34.1b11x
32.0b8y
35.4b4z
35.2b9t
Compiler

Compiled 44 to 28 computations (36.4% saved)

bsearch205.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
77.0ms
5.5317534080381914e+66
1.1385197172751729e+69
20.0ms
3.21885575913646e-55
4.853712800785707e-54
21.0ms
9.26121301564439e-69
5.220215900262221e-68
20.0ms
7.455619268204242e-180
7.884756939766614e-178
19.0ms
-6.0856926281401236e-298
-5.68201119375377e-298
25.0ms
-8.666483375536832e-26
-3.991867256719067e-34
22.0ms
-9.905663060636218e+197
-5.0423607219952796e+197
Compiler

Compiled 207 to 157 computations (24.2% saved)

regimes123.0ms (0.8%)

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

4 calls:

41.0ms
x
35.0ms
t
28.0ms
y
17.0ms
z
Results
ErrorSegmentsBranch
34.9b9x
34.5b6y
35.4b4z
37.0b8t
Compiler

Compiled 36 to 24 computations (33.3% saved)

bsearch96.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
3.21885575913646e-55
4.853712800785707e-54
19.0ms
9.26121301564439e-69
5.220215900262221e-68
19.0ms
7.455619268204242e-180
7.884756939766614e-178
20.0ms
-6.0856926281401236e-298
-5.68201119375377e-298
19.0ms
-8.666483375536832e-26
-3.991867256719067e-34
Compiler

Compiled 20 to 14 computations (30% saved)

regimes125.0ms (0.8%)

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

4 calls:

37.0ms
x
30.0ms
y
29.0ms
z
28.0ms
t
Results
ErrorSegmentsBranch
39.6b5x
38.0b4y
38.9b4z
41.7b4t
Compiler

Compiled 32 to 22 computations (31.3% saved)

bsearch64.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
9.26121301564439e-69
5.220215900262221e-68
23.0ms
2.5443568212861814e-167
7.091850760007749e-166
20.0ms
-8.666483375536832e-26
-3.991867256719067e-34
Compiler

Compiled 20 to 14 computations (30% saved)

regimes57.0ms (0.4%)

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

4 calls:

17.0ms
t
15.0ms
y
13.0ms
x
10.0ms
z
Results
ErrorSegmentsBranch
47.7b3x
46.5b4y
41.6b3z
47.5b3t
Compiler

Compiled 29 to 21 computations (27.6% saved)

bsearch210.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
2.9522962101091264e-23
2.819713577512346e-19
192.0ms
-3783.010294147959
-9.841039214879246e-7
Compiler

Compiled 20 to 14 computations (30% saved)

regimes192.0ms (1.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:

180.0ms
t
4.0ms
x
3.0ms
y
3.0ms
z
Results
ErrorSegmentsBranch
49.7b1x
49.7b1y
49.7b1z
49.7b1t
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify125.0ms (0.8%)

Algorithm
egg-herbie
Rules
119×distribute-rgt-neg-in_binary64
103×cancel-sign-sub-inv_binary64
77×distribute-lft-neg-in_binary64
77×distribute-lft-neg-out_binary64
73×neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0174769
1219767
2248767
3266767
4284767
5310767
6356767
7409767
8472767
9593767
10741767
11875767
12992767
131048767
141060767
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 (-.f64 t x) y)))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 (-.f64 t x) y)))
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 t (-.f64 y z)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -128379604403579808/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t (-.f64 y z)) (if (<=.f64 z -2332238342068161024/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -9786514606822817792/528294531135665246352339784916516606518847326036121522127960709026673902556724859474417255887657187894674394993257128678882347559502685537250538978462939576908386683999005084168731517676426441053024232908211188404148028292751561738838396898767036476489538580897737998336) (*.f64 (-.f64 t x) y) (if (<=.f64 z 11483440244321120/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 (-.f64 t x) y) (if (<=.f64 z -1129969273884279680/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 z (neg.f64 t)) (if (<=.f64 z -3267784980665945600/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 (-.f64 t x) y) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -4388394676109267/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t))))
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -53031076859123752/1461501637330902918203684832716283019655932542976) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 27118942994740880/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 (+.f64 1 z) x) (if (<=.f64 t 6656623887515097088/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t))))))))))
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 1661963646819852/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 y t) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 z x) (*.f64 x (-.f64 1 y))))))))))
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y)))))))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t))))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 27028091501351844/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) x (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (*.f64 y t))))
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 z x) (if (<=.f64 z 10046143422276498/340282366920938463463374607431768211456) x (*.f64 z x)))
x
Outputs
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
(+.f64 x (+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (*.f64 (-.f64 y z) t)))
(+.f64 x (-.f64 (*.f64 (-.f64 y z) t) (*.f64 x (-.f64 y z))))
(+.f64 x (+.f64 (*.f64 x (-.f64 z y)) (*.f64 (-.f64 y z) t)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 (-.f64 t x) y)))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y (-.f64 t x)) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 y (-.f64 t x))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 (-.f64 t x) y)))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y (-.f64 t x)) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x))))
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 t (-.f64 y z)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (-.f64 y z) t) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 (-.f64 y z) t) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 x -6142183028801485/73786976294838206464) (-.f64 x (*.f64 x (-.f64 y z))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (-.f64 y z) t) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (-.f64 x (*.f64 x (-.f64 y z))) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 (-.f64 y z) t) (-.f64 x (*.f64 x (-.f64 y z)))))))
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -128379604403579808/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t (-.f64 y z)) (if (<=.f64 z -2332238342068161024/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -9786514606822817792/528294531135665246352339784916516606518847326036121522127960709026673902556724859474417255887657187894674394993257128678882347559502685537250538978462939576908386683999005084168731517676426441053024232908211188404148028292751561738838396898767036476489538580897737998336) (*.f64 (-.f64 t x) y) (if (<=.f64 z 11483440244321120/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -4011862637611869/7729075046034516689390703781863974688597854659412869997314470502903038284579120849072387533163845155924927232063004354354730157322085975311485817346934161497393961629646848) (*.f64 (-.f64 y z) t) (if (<=.f64 z -4555153011851877/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -298660724085169/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352) (*.f64 y (-.f64 t x)) (if (<=.f64 z 358857507635035/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 (-.f64 y z) t) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 (-.f64 t x) y) (if (<=.f64 z -1129969273884279680/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 z (neg.f64 t)) (if (<=.f64 z -3267784980665945600/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 (-.f64 t x) y) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 y (-.f64 t x)) (if (<=.f64 z -8827884952220935/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 z (neg.f64 t)) (if (<=.f64 z -6382392540363175/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 y (-.f64 t x)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t))))))))
(if (<=.f64 z -4388394676109267/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t))))
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -53031076859123752/1461501637330902918203684832716283019655932542976) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 27118942994740880/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 (+.f64 1 z) x) (if (<=.f64 t 6656623887515097088/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t))))))))))
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -6628884607390469/182687704666362864775460604089535377456991567872) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 1694933937171305/7687697232696013035490465480201479025983241823794691621558168976140934720122093268938148043346259333988919315645138393722043075242293497100043735968399262883880680368733084239192707430286484902215659282347932289182034267181757047930126964620533348010060414976) (*.f64 x (+.f64 z 1)) (if (<=.f64 t 3250304632575731/56539106072908298546665520023773392506479484700019806659891398441363832832) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t))))))))))
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 1661963646819852/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 y t) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 z x) (*.f64 x (-.f64 1 y))))))))))
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 415490911704963/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 y t) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 x z) (*.f64 x (-.f64 1 y))))))))))
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y)))))))))
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y)))))))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t))))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t))))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 27028091501351844/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) x (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (*.f64 y t))))
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 6757022875337961/265568996408383549344794103276234313664796558863515961599722069100201779930426121369581251132614642834444664743123250507673289668826353619704759989383293675971915635417696609515864064) x (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (*.f64 y t))))
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 z x) (if (<=.f64 z 10046143422276498/340282366920938463463374607431768211456) x (*.f64 z x)))
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 x z) (if (<=.f64 z 5023071711138249/170141183460469231731687303715884105728) x (*.f64 x z)))
x
Compiler

Compiled 590 to 320 computations (45.8% saved)

soundness0.0ms (0%)

end201.0ms (1.3%)

Compiler

Compiled 534 to 229 computations (57.1% saved)

Profiling

Loading profile data...