Details

Time bar (total: 14.9s)

analyze318.0ms (2.1%)

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

Compiled 14 to 9 computations (35.7% saved)

sample2.4s (16%)

Results
1.3s8256×body256valid
1.0s3859×body256invalid

preprocess72.0ms (0.5%)

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)

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

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(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)

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

series11.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

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

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

simplify324.0ms (2.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)

series45.0ms (0.3%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
41.0ms
t
@inf
(fma.f64 (-.f64 y z) (-.f64 t x) x)
1.0ms
t
@-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
y
@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))))))

simplify295.0ms (2%)

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)

eval31.0ms (0.2%)

Compiler

Compiled 2622 to 668 computations (74.5% saved)

prune71.0ms (0.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New16511176
Fresh000
Picked101
Done101
Total16711178
Error
0b
Counts
178 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
29.0b
(+.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))))
27.2b
(+.f64 x (*.f64 x (-.f64 z y)))
39.7b
(*.f64 z (-.f64 x t))
33.4b
(+.f64 x (pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2))
23.5b
(+.f64 (*.f64 y (-.f64 t x)) x)
21.8b
(fma.f64 z (-.f64 x t) x)
41.4b
(*.f64 (-.f64 t x) y)
21.8b
(+.f64 x (*.f64 z (-.f64 x t)))
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
36.0b
(*.f64 t (-.f64 y z))
Compiler

Compiled 286 to 176 computations (38.5% saved)

localize46.0ms (0.3%)

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

Compiled 50 to 10 computations (80% saved)

series19.0ms (0.1%)

Counts
4 → 168
Calls

42 calls:

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

rewrite109.0ms (0.7%)

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

simplify250.0ms (1.7%)

Algorithm
egg-herbie
Rules
2392×fma-neg_binary64
859×fma-def_binary64
530×associate-+l-_binary64
516×sub-neg_binary64
494×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0702350
12111843
25401481
315131409
438441409
546941409
649351409
749471409
849471409
955821409
1059351409
1159351409
Stop Event
node limit
Counts
492 → 371
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))
(*.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 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 (*.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 -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 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 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 t (neg.f64 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 (*.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 t (neg.f64 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 (*.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 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 y x)))
(*.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 y x)))
(*.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 y x)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 y x)))
(*.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 y x)))
(*.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 y x)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 y x)))
(*.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 y x)))
(*.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 y x)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.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 y x)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (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 t z) (*.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 t z) (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 t z) (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 t z) (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 t z) (*.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 t z) (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 t z) (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 t z) (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 y x)))
(*.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 t z) (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 t z) (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 t z) (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 t z) (*.f64 t y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 t z) (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 t z) (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 t z) (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 t z) (*.f64 t y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 t z) (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 t z) (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 t z) (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 t z) (*.f64 t y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(fma.f64 -1 (*.f64 t z) (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 t z) (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 t z) (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 y x)))
(*.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 t z) (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 t z) (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 t z) (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 y x)))
(*.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 t z) (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 t z) (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 t z) (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 t z) (*.f64 t y))
(+.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 (-.f64 y z) x))
(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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 (-.f64 y z) x))
(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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 y t (fma.f64 -1 (*.f64 y x) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(fma.f64 -1 (*.f64 t z) (*.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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(fma.f64 -1 (*.f64 t z) (*.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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(-.f64 x (*.f64 (-.f64 y z) x))
(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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(+.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(*.f64 t (-.f64 y z))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(+.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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) 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 (-.f64 y z) x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 x t) (-.f64 z y) x)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite55.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

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

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

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

simplify36.0ms (0.2%)

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

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series12.0ms (0.1%)

Counts
2 → 60
Calls

18 calls:

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

rewrite64.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

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

simplify349.0ms (2.3%)

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

Useful iterations: 1 (0.0ms)

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

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
0.0b
(*.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.2%)

Counts
3 → 132
Calls

33 calls:

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

rewrite235.0ms (1.6%)

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

simplify505.0ms (3.4%)

Algorithm
egg-herbie
Rules
2841×fma-neg_binary64
470×fma-def_binary64
461×associate-+l-_binary64
434×sub-neg_binary64
371×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0641989
12081715
25591169
316301169
439001169
549781169
651871169
752111169
852111169
956481169
1057481169
1157481169
1279741169
1379741169
1479741169
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 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -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))))
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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t 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 -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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t 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 -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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(*.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(*.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t x))
(+.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 y z) (-.f64 t 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 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 y z) (-.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 y z) (-.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 y z) (-.f64 t x))
(*.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 y z) (-.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 y z) (-.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 y z) (-.f64 t x))
(*.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 y z) (-.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 y z) (-.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 y z) (-.f64 t x))
(*.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 y z) (-.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 y z) (-.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 y z) (-.f64 t 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 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 y z) (-.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 y z) (-.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 y z) (-.f64 t 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 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 y z) (-.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 y z) (-.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 y z) (-.f64 t 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))
(+.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)

eval477.0ms (3.2%)

Compiler

Compiled 15559 to 3572 computations (77% saved)

prune433.0ms (2.9%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New82413837
Fresh426
Picked101
Done224
Total83117848
Error
0b
Counts
848 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
31.7b
(+.f64 x (*.f64 z (neg.f64 t)))
36.0b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
35.1b
(+.f64 (*.f64 z x) x)
41.4b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
21.8b
(fma.f64 (-.f64 x t) z x)
49.3b
(*.f64 t (neg.f64 z))
41.4b
(*.f64 (-.f64 t x) y)
44.5b
x
49.3b
(*.f64 y t)
29.0b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
0.0b
(+.f64 x (fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 (-.f64 t x) y)))
36.0b
(*.f64 t (-.f64 y z))
27.2b
(+.f64 x (*.f64 x (-.f64 z y)))
23.5b
(+.f64 (*.f64 y (-.f64 t x)) x)
54.6b
(*.f64 x (neg.f64 y))
41.2b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t)))
39.7b
(*.f64 z (-.f64 x t))
Compiler

Compiled 351 to 224 computations (36.2% saved)

localize46.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 44 to 9 computations (79.5% saved)

series16.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

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

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
519×log-prod_binary64
419×fma-def_binary64
398×pow-prod-down_binary64
286×pow2_binary64
198×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify419.0ms (2.8%)

Algorithm
egg-herbie
Rules
2593×fma-neg_binary64
969×fma-def_binary64
472×sub-neg_binary64
440×associate-+l-_binary64
324×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0601676
11901403
25051001
31476929
44081929
54932929
65224929
75261929
85261929
95698929
105804929
115804929
127869929
137869929
147869929
Stop Event
saturated
Counts
190 → 125
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 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.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 y (-.f64 t x)) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.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 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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 z (-.f64 x t)) (*.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(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 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.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))))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
(fma.f64 (-.f64 y z) (-.f64 t x) x)

localize26.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series8.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite65.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

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

simplify98.0ms (0.7%)

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

Useful iterations: 2 (0.0ms)

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

localize49.0ms (0.3%)

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)

series8.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite96.0ms (0.6%)

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

simplify86.0ms (0.6%)

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

eval121.0ms (0.8%)

Compiler

Compiled 4341 to 1189 computations (72.6% saved)

prune167.0ms (1.1%)

Pruning

19 alts after pruning (14 fresh and 5 done)

PrunedKeptTotal
New2906296
Fresh2810
Picked101
Done156
Total29419313
Error
0b
Counts
313 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
35.1b
(+.f64 (*.f64 z x) x)
41.4b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
36.9b
(-.f64 x (*.f64 y x))
36.0b
(-.f64 (*.f64 y t) (*.f64 t z))
21.8b
(fma.f64 (-.f64 x t) z x)
44.5b
x
49.3b
(*.f64 y t)
36.0b
(*.f64 t (-.f64 y z))
27.2b
(+.f64 x (*.f64 x (-.f64 z y)))
41.2b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t)))
54.6b
(*.f64 y (neg.f64 x))
53.1b
(*.f64 z x)
31.7b
(+.f64 x (*.f64 z (neg.f64 t)))
13.8b
(+.f64 x (fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 x (neg.f64 y))))
41.4b
(*.f64 (-.f64 t x) y)
23.5b
(+.f64 (*.f64 y (-.f64 t x)) x)
29.0b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
49.3b
(*.f64 z (neg.f64 t))
39.7b
(*.f64 z (-.f64 x t))
Compiler

Compiled 352 to 228 computations (35.2% saved)

localize46.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 43 to 10 computations (76.7% saved)

series15.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

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

rewrite87.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
421×fma-def_binary64
379×pow-prod-down_binary64
289×pow2_binary64
200×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify192.0ms (1.3%)

Algorithm
egg-herbie
Rules
1009×fma-neg_binary64
539×fma-def_binary64
181×sub-neg_binary64
139×unsub-neg_binary64
138×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0411479
11201139
23091133
38021133
417331133
528261133
635141133
735851133
835851133
936981133
1036981133
Stop Event
saturated
Counts
187 → 119
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
Outputs
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (*.f64 (neg.f64 y) x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(fma.f64 z x (*.f64 (neg.f64 y) x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z (*.f64 -1 y)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(fma.f64 z x (*.f64 (neg.f64 y) x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 (neg.f64 y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 x y) x)
(-.f64 x (*.f64 x y))
(fma.f64 y (neg.f64 x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 -1 (*.f64 z t) (*.f64 x (+.f64 (+.f64 1 z) (neg.f64 y))))
(-.f64 (fma.f64 z (-.f64 x t) x) (*.f64 x y))
(fma.f64 z (-.f64 x t) (fma.f64 y (neg.f64 x) x))
(-.f64 x (fma.f64 x (-.f64 y z) (*.f64 z t)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 6 computations (57.1% saved)

series122.0ms (0.8%)

Counts
1 → 15
Calls

6 calls:

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

rewrite55.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify22.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

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

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

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

simplify38.0ms (0.3%)

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

Useful iterations: 2 (0.0ms)

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

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t)))
2.3b
(-.f64 (*.f64 x x) (*.f64 t t))
8.7b
(*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z)
16.9b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t))
Compiler

Compiled 60 to 11 computations (81.7% saved)

series187.0ms (1.3%)

Counts
4 → 132
Calls

33 calls:

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

rewrite119.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
770×fma-def_binary64
707×log-prod_binary64
386×fma-neg_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify257.0ms (1.7%)

Algorithm
egg-herbie
Rules
860×fma-neg_binary64
734×div-sub_binary64
390×associate-/r*_binary64
380×fma-def_binary64
356×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0451616
11271297
22741152
39021152
435301152
572621152
Stop Event
node limit
Counts
478 → 379
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 z (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 z (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 z (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(*.f64 -1 (pow.f64 t 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(*.f64 -1 (pow.f64 t 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(*.f64 -1 (pow.f64 t 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.f64 -1 z)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.f64 -1 z)) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.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)))
(+.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 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 t z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
x
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(*.f64 (neg.f64 (*.f64 t t)) z)
(*.f64 z (*.f64 t (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (pow.f64 x 2))
(*.f64 z (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (pow.f64 x 2))
(*.f64 z (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (pow.f64 x 2))
(*.f64 z (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(*.f64 (neg.f64 (*.f64 t t)) z)
(*.f64 z (*.f64 t (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 -1 (*.f64 (pow.f64 t 2) z))
(*.f64 (neg.f64 (*.f64 t t)) z)
(*.f64 z (*.f64 t (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 t 2) z)) (*.f64 z (pow.f64 x 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2)))
(fma.f64 -1 (*.f64 z (*.f64 t t)) (*.f64 z (*.f64 x x)))
(*.f64 z (-.f64 (*.f64 x x) (*.f64 t t)))
(*.f64 -1 (pow.f64 t 2))
(neg.f64 (*.f64 t t))
(*.f64 t (neg.f64 t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(*.f64 -1 (pow.f64 t 2))
(neg.f64 (*.f64 t t))
(*.f64 t (neg.f64 t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(*.f64 -1 (pow.f64 t 2))
(neg.f64 (*.f64 t t))
(*.f64 t (neg.f64 t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(+.f64 (*.f64 -1 (pow.f64 t 2)) (pow.f64 x 2))
(-.f64 (*.f64 x x) (*.f64 t t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.f64 -1 z)) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.f64 -1 z)) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (-.f64 1 (*.f64 -1 z)) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(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) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(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) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(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) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(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) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(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) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 t z)) x) (*.f64 -1 (*.f64 z x)))
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
x
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z)
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x 2) (+.f64 t x)) (/.f64 (pow.f64 t 2) (+.f64 t x))) z) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x))
(fma.f64 -1 (*.f64 t z) (*.f64 z x))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (-.f64 x t))
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)
(+.f64 (/.f64 (*.f64 z (-.f64 (pow.f64 x 2) (pow.f64 t 2))) (+.f64 t x)) x)
(fma.f64 -1 (*.f64 t z) (*.f64 x (-.f64 1 (neg.f64 z))))
(-.f64 (fma.f64 z x x) (*.f64 t z))
(fma.f64 z (-.f64 x t) x)

eval227.0ms (1.5%)

Compiler

Compiled 10991 to 2948 computations (73.2% saved)

prune307.0ms (2.1%)

Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New5634567
Fresh279
Picked101
Done189
Total56719586
Error
0b
Counts
586 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
35.1b
(+.f64 (*.f64 z x) x)
41.4b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
31.4b
(+.f64 (*.f64 y t) x)
36.9b
(-.f64 x (*.f64 y x))
36.0b
(-.f64 (*.f64 y t) (*.f64 t z))
13.8b
(+.f64 x (fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 x (neg.f64 y))))
44.5b
x
40.8b
(+.f64 x (*.f64 (/.f64 (*.f64 (+.f64 x t) (-.f64 x t)) 1) (/.f64 z (+.f64 x t))))
49.3b
(*.f64 z (neg.f64 t))
36.0b
(*.f64 t (-.f64 y z))
27.2b
(+.f64 x (*.f64 x (-.f64 z y)))
46.7b
(+.f64 x (/.f64 (*.f64 (*.f64 x x) z) (+.f64 x t)))
54.6b
(*.f64 y (neg.f64 x))
53.1b
(*.f64 z x)
31.7b
(+.f64 x (*.f64 z (neg.f64 t)))
41.4b
(*.f64 (-.f64 t x) y)
49.3b
(*.f64 y t)
29.0b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
39.7b
(*.f64 z (-.f64 x t))
Compiler

Compiled 206 to 134 computations (35% saved)

regimes261.0ms (1.7%)

Counts
36 → 1
Calls
Call 1
Inputs
x
x
(*.f64 z x)
(*.f64 y t)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y t) x)
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 z x) x)
(*.f64 z (-.f64 x t))
(*.f64 (-.f64 t x) y)
(*.f64 t (-.f64 y z))
(+.f64 x (*.f64 z (neg.f64 t)))
(-.f64 (*.f64 y t) (*.f64 t z))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 x (/.f64 (*.f64 (*.f64 x x) z) (+.f64 x t)))
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t)))
(+.f64 x (*.f64 (/.f64 (*.f64 (+.f64 x t) (-.f64 x t)) 1) (/.f64 z (+.f64 x t))))
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
(fma.f64 (-.f64 x t) z x)
(fma.f64 z (-.f64 x t) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 x (fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 x (neg.f64 y))))
(+.f64 x (fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 (-.f64 t x) y)))
(+.f64 x (pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2))
Outputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Calls

6 calls:

87.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
55.0ms
(-.f64 y z)
53.0ms
x
20.0ms
y
19.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 316 to 107 computations (66.1% saved)

regimes148.0ms (1%)

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

6 calls:

57.0ms
(-.f64 y z)
18.0ms
z
17.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
16.0ms
x
16.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 271 to 97 computations (64.2% saved)

regimes536.0ms (3.6%)

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

6 calls:

164.0ms
t
139.0ms
(-.f64 y z)
88.0ms
x
62.0ms
z
43.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
10.1b7x
10.1b3y
9.0b3z
13.5b7t
18.7b4(-.f64 y z)
18.7b4(-.f64 y z)
Compiler

Compiled 156 to 62 computations (60.3% saved)

bsearch47.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
1.3751734163422565e-42
1.3223163506963362e-37
28.0ms
-1.3019813980844087e-7
-1.0921227064909083e-18
Compiler

Compiled 20 to 14 computations (30% saved)

regimes663.0ms (4.4%)

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

6 calls:

155.0ms
z
150.0ms
x
120.0ms
y
112.0ms
t
82.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
10.4b7x
16.0b5y
9.6b3z
17.1b4t
18.7b4(-.f64 y z)
18.7b4(-.f64 y z)
Compiler

Compiled 133 to 58 computations (56.4% saved)

bsearch35.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
8.342555390793396e-24
7.929934375980695e-19
17.0ms
-1.3019813980844087e-7
-1.0921227064909083e-18
Compiler

Compiled 20 to 14 computations (30% saved)

regimes324.0ms (2.2%)

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

94.0ms
y
58.0ms
z
44.0ms
(-.f64 y z)
43.0ms
x
41.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
11.6b5x
15.7b7y
15.9b3z
18.4b3t
18.5b5(-.f64 y z)
18.5b5(-.f64 y z)
Compiler

Compiled 112 to 56 computations (50% saved)

bsearch71.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
6.351887022771739e-26
1.3265380313694655e-14
17.0ms
2.4537731466248407e-82
1.483394928379111e-76
18.0ms
1.3112571328983433e-120
2.0938269776510323e-120
18.0ms
-6.781098480773828e-105
-2.689008794321092e-106
Compiler

Compiled 20 to 14 computations (30% saved)

regimes331.0ms (2.2%)

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

6 calls:

84.0ms
(-.f64 y z)
76.0ms
t
59.0ms
y
42.0ms
x
42.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
17.3b5x
15.7b7y
15.9b3z
22.0b7t
19.3b5(-.f64 y z)
19.3b5(-.f64 y z)
Compiler

Compiled 105 to 53 computations (49.5% saved)

bsearch125.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
4.0608742101895496e-24
1.8529886466462655e-19
20.0ms
-1.9734763258488398e-220
-3.54251952622234e-224
21.0ms
-3.2820679115395877e-175
-5.552331270658502e-188
19.0ms
-4.519078243590432e-100
-2.423016022630389e-106
20.0ms
-2.208019825239669e-51
-2.2832984479873773e-52
27.0ms
-1835688735862209.3
-92696449.1749965
Compiler

Compiled 20 to 14 computations (30% saved)

regimes262.0ms (1.8%)

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

6 calls:

65.0ms
t
54.0ms
y
40.0ms
(-.f64 y z)
38.0ms
(-.f64 y z)
38.0ms
x
Results
ErrorSegmentsBranch
17.3b5x
15.7b7y
15.9b3z
22.0b7t
19.3b5(-.f64 y z)
19.3b5(-.f64 y z)
Compiler

Compiled 98 to 51 computations (48% saved)

bsearch114.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
4.0608742101895496e-24
1.8529886466462655e-19
18.0ms
-1.9734763258488398e-220
-3.54251952622234e-224
19.0ms
-3.2820679115395877e-175
-5.552331270658502e-188
19.0ms
-4.519078243590432e-100
-2.423016022630389e-106
19.0ms
-2.208019825239669e-51
-2.2832984479873773e-52
20.0ms
-1835688735862209.3
-92696449.1749965
Compiler

Compiled 20 to 14 computations (30% saved)

regimes250.0ms (1.7%)

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

6 calls:

61.0ms
y
51.0ms
t
38.0ms
x
37.0ms
(-.f64 y z)
36.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
17.3b5x
17.5b8y
15.9b3z
22.5b7t
19.3b5(-.f64 y z)
19.3b5(-.f64 y z)
Compiler

Compiled 92 to 50 computations (45.7% saved)

bsearch38.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
8.342555390793396e-24
7.929934375980695e-19
19.0ms
-1.3019813980844087e-7
-1.0921227064909083e-18
Compiler

Compiled 20 to 14 computations (30% saved)

regimes140.0ms (0.9%)

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

4 calls:

44.0ms
y
36.0ms
t
31.0ms
x
26.0ms
z
Results
ErrorSegmentsBranch
23.9b5x
23.9b7y
22.8b4z
25.8b5t
Compiler

Compiled 63 to 34 computations (46% saved)

bsearch97.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
0.05893900090288899
0.48967129904992285
18.0ms
-1.3019813980844087e-7
-1.0921227064909083e-18
60.0ms
-3.2203934501343757e+84
-2.7402826014852745e+80
Compiler

Compiled 156 to 118 computations (24.4% saved)

regimes98.0ms (0.7%)

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

4 calls:

28.0ms
y
25.0ms
x
24.0ms
z
18.0ms
t
Results
ErrorSegmentsBranch
26.6b4x
27.0b5y
22.9b4z
28.3b3t
Compiler

Compiled 58 to 33 computations (43.1% saved)

bsearch190.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
112.0ms
8.023772312676326e+41
7.574122702199696e+50
18.0ms
-1.3019813980844087e-7
-1.0921227064909083e-18
60.0ms
-3.2203934501343757e+84
-2.7402826014852745e+80
Compiler

Compiled 318 to 235 computations (26.1% saved)

regimes126.0ms (0.8%)

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

4 calls:

35.0ms
y
35.0ms
z
31.0ms
x
21.0ms
t
Results
ErrorSegmentsBranch
32.6b6x
31.3b7y
30.6b7z
39.7b3t
Compiler

Compiled 48 to 30 computations (37.5% saved)

bsearch154.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
2.2533371114491533e+21
1.7192512626358115e+23
19.0ms
8.342555390793396e-24
7.929934375980695e-19
18.0ms
5.196518449126992e-276
2.155179929836797e-275
18.0ms
-2.3768113014192407e-264
-4.767440536356645e-265
19.0ms
-1.6201892309483175e-26
-1.192941145592658e-26
60.0ms
-3.2203934501343757e+84
-2.7402826014852745e+80
Compiler

Compiled 156 to 118 computations (24.4% saved)

regimes71.0ms (0.5%)

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

4 calls:

20.0ms
y
20.0ms
z
16.0ms
t
13.0ms
x
Results
ErrorSegmentsBranch
35.9b3x
32.7b5y
34.3b5z
40.8b3t
Compiler

Compiled 36 to 24 computations (33.3% saved)

bsearch76.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
5.830815508976243e+236
1.9239878723410832e+241
18.0ms
3147577253297284600.0
1.3682400925623358e+20
18.0ms
4.0608742101895496e-24
1.8529886466462655e-19
18.0ms
-2.408034525165828e-48
-2.208019825239669e-51
Compiler

Compiled 156 to 118 computations (24.4% saved)

regimes58.0ms (0.4%)

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

4 calls:

19.0ms
z
15.0ms
t
11.0ms
x
11.0ms
y
Results
ErrorSegmentsBranch
35.9b3x
35.8b3y
34.3b5z
40.8b3t
Compiler

Compiled 32 to 22 computations (31.3% saved)

bsearch75.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.48967129904992285
6.868984379167529e+20
19.0ms
5.196518449126992e-276
2.155179929836797e-275
19.0ms
-2.3768113014192407e-264
-4.767440536356645e-265
18.0ms
-1453351.342971835
-0.06752023859579143
Compiler

Compiled 20 to 14 computations (30% saved)

regimes41.0ms (0.3%)

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

4 calls:

12.0ms
z
11.0ms
t
11.0ms
x
7.0ms
y
Results
ErrorSegmentsBranch
43.3b3x
42.6b2y
35.6b3z
43.0b3t
Compiler

Compiled 29 to 21 computations (27.6% saved)

bsearch36.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.48967129904992285
6.868984379167529e+20
18.0ms
-1453351.342971835
-0.06752023859579143
Compiler

Compiled 20 to 14 computations (30% saved)

regimes16.0ms (0.1%)

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:

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

Compiled 26 to 20 computations (23.1% saved)

simplify31.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0121630
1157622
2181622
3192622
4196622
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 8632103438179609/6277101735386680763835789423207666416102355444464034512896) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 x (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 x -8755245362636769/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 7624579693594775/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 t (-.f64 y z)) (if (<=.f64 x 8385964208450429/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 2766636992669645/43556142965880123323311949751266331066368) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (-.f64 (*.f64 y t) (*.f64 t z)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 (*.f64 y t) x) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 (*.f64 z x) x) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (*.f64 t (-.f64 y z)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 (*.f64 y t) x) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 (*.f64 z x) x) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 4247002600061443/72057594037927936) (+.f64 (*.f64 y t) x) (+.f64 (*.f64 z x) x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 749999999999999994915711505771220982346281331458048) (+.f64 (*.f64 y t) x) (*.f64 z x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -5645535501997143/348449143727040986586495598010130648530944) (*.f64 z (neg.f64 t)) (if (<=.f64 z -2696501612450787/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) x (if (<=.f64 z 6482138118755311/1247400193459199882285232945648024103792157037772160963439092026523257432418102541115598728432897313180839029277620309527482773742745996037961982373928019637700003545594428547823461075902726866989158347965339952495831756534450543993055534542780027598441950566797347526026474059518965006204928) (*.f64 y t) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) x (if (<=.f64 z 2253337111449153306624) (*.f64 z (neg.f64 t)) (*.f64 z x)))))))
(if (<=.f64 y -7924863570694353/3291009114642412084309938365114701009965471731267159726697218048) (*.f64 y t) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) x (if (<=.f64 y 3147577253297284608) (*.f64 y t) (if (<=.f64 y 599999999999999964123276788598569494583421461603637337968924494784772898935883594971048328812194296800569197023230798336228254749467301357431028197459841489564676100153346856467878845440583100130958087186864218662497588342192819511754752) (*.f64 y (neg.f64 x)) (*.f64 y t)))))
(if (<=.f64 z -6242096487661711/4294967296) (*.f64 z x) (if (<=.f64 z -2696501612450787/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) x (if (<=.f64 z 6482138118755311/1247400193459199882285232945648024103792157037772160963439092026523257432418102541115598728432897313180839029277620309527482773742745996037961982373928019637700003545594428547823461075902726866989158347965339952495831756534450543993055534542780027598441950566797347526026474059518965006204928) (*.f64 y t) (if (<=.f64 z 8821133919741037/18014398509481984) x (*.f64 z x)))))
(if (<=.f64 z -6242096487661711/4294967296) (*.f64 z x) (if (<=.f64 z 8821133919741037/18014398509481984) x (*.f64 z x)))
x
Outputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 8632103438179609/6277101735386680763835789423207666416102355444464034512896) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 x (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 8632103438179609/6277101735386680763835789423207666416102355444464034512896) (+.f64 x (*.f64 y (-.f64 t x))) (+.f64 x (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 x t))))
(if (<=.f64 x -8755245362636769/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 7624579693594775/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 t (-.f64 y z)) (if (<=.f64 x 8385964208450429/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 2766636992669645/43556142965880123323311949751266331066368) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 x -8755245362636769/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 7624579693594775/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 (-.f64 y z) t) (if (<=.f64 x 8385964208450429/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 2766636992669645/43556142965880123323311949751266331066368) (*.f64 (-.f64 y z) t) (+.f64 x (*.f64 x (-.f64 z y)))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (-.f64 (*.f64 y t) (*.f64 t z)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 (*.f64 y t) x) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 (*.f64 z x) x) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (-.f64 (*.f64 y t) (*.f64 z t)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 x (*.f64 y t)) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 x (*.f64 z x)) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (-.f64 (*.f64 y t) (*.f64 z t)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 x (*.f64 y t)) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (-.f64 x (*.f64 z t)) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 x (*.f64 z x)) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (-.f64 x (*.f64 z t)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 (-.f64 t x) y) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (*.f64 t (-.f64 y z)) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 (*.f64 y t) x) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 (*.f64 z x) x) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 (-.f64 t x) y)))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (*.f64 (-.f64 y z) t) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 x (*.f64 y t)) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 x (*.f64 z x)) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 y -7342754943448837/4) (*.f64 y (-.f64 t x)) (if (<=.f64 y -3720506045529547/1684996666696914987166688442938726917102321526408785780068975640576) (*.f64 (-.f64 y z) t) (if (<=.f64 y -2225759361949271/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (+.f64 x (*.f64 y t)) (if (<=.f64 y -731164060029427/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (-.f64 x (*.f64 z t)) (if (<=.f64 y -5019824456675251/25436456424254815193480879938969641865328820504439957276902228591018818808813598905645111850248543894740790979741795503409915167442777118989423202714274711784725790327125604852535546439788108920017108978789850624014628402852922291912704) (+.f64 x (*.f64 z x)) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) (-.f64 x (*.f64 z t)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) (+.f64 x (*.f64 y t)) (*.f64 z (-.f64 x t))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 4247002600061443/72057594037927936) (+.f64 (*.f64 y t) x) (+.f64 (*.f64 z x) x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 4247002600061443/72057594037927936) (+.f64 x (*.f64 y t)) (+.f64 x (*.f64 z x)))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 t (neg.f64 z)) (if (<=.f64 z 4247002600061443/72057594037927936) (+.f64 x (*.f64 y t)) (+.f64 x (*.f64 z x)))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 749999999999999994915711505771220982346281331458048) (+.f64 (*.f64 y t) x) (*.f64 z x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 z (neg.f64 t)) (if (<=.f64 z 749999999999999994915711505771220982346281331458048) (+.f64 x (*.f64 y t)) (*.f64 z x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -2459373326253429/18889465931478580854784) (*.f64 t (neg.f64 z)) (if (<=.f64 z 749999999999999994915711505771220982346281331458048) (+.f64 x (*.f64 y t)) (*.f64 z x))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -5645535501997143/348449143727040986586495598010130648530944) (*.f64 z (neg.f64 t)) (if (<=.f64 z -2696501612450787/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) x (if (<=.f64 z 6482138118755311/1247400193459199882285232945648024103792157037772160963439092026523257432418102541115598728432897313180839029277620309527482773742745996037961982373928019637700003545594428547823461075902726866989158347965339952495831756534450543993055534542780027598441950566797347526026474059518965006204928) (*.f64 y t) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) x (if (<=.f64 z 2253337111449153306624) (*.f64 z (neg.f64 t)) (*.f64 z x)))))))
(if (<=.f64 z -3200000000000000098581322339088822104864806528244587083074871810221247529322605969408) (*.f64 z x) (if (<=.f64 z -5645535501997143/348449143727040986586495598010130648530944) (*.f64 t (neg.f64 z)) (if (<=.f64 z -2696501612450787/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) x (if (<=.f64 z 6482138118755311/1247400193459199882285232945648024103792157037772160963439092026523257432418102541115598728432897313180839029277620309527482773742745996037961982373928019637700003545594428547823461075902726866989158347965339952495831756534450543993055534542780027598441950566797347526026474059518965006204928) (*.f64 y t) (if (<=.f64 z 5677648989096423/680564733841876926926749214863536422912) x (if (<=.f64 z 2253337111449153306624) (*.f64 t (neg.f64 z)) (*.f64 z x)))))))
(if (<=.f64 y -7924863570694353/3291009114642412084309938365114701009965471731267159726697218048) (*.f64 y t) (if (<=.f64 y 2763687776022993/680564733841876926926749214863536422912) x (if (<=.f64 y 3147577253297284608) (*.f64 y t) (if (<=.f64 y 599999999999999964123276788598569494583421461603637337968924494784772898935883594971048328812194296800569197023230798336228254749467301357431028197459841489564676100153346856467878845440583100130958087186864218662497588342192819511754752) (*.f64 y (neg.f64 x)) (*.f64 y t)))))
(if (<=.f64 z -6242096487661711/4294967296) (*.f64 z x) (if (<=.f64 z -2696501612450787/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) x (if (<=.f64 z 6482138118755311/1247400193459199882285232945648024103792157037772160963439092026523257432418102541115598728432897313180839029277620309527482773742745996037961982373928019637700003545594428547823461075902726866989158347965339952495831756534450543993055534542780027598441950566797347526026474059518965006204928) (*.f64 y t) (if (<=.f64 z 8821133919741037/18014398509481984) x (*.f64 z x)))))
(if (<=.f64 z -6242096487661711/4294967296) (*.f64 z x) (if (<=.f64 z 8821133919741037/18014398509481984) x (*.f64 z x)))
x
Compiler

Compiled 493 to 259 computations (47.5% saved)

soundness582.0ms (3.9%)

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

Useful iterations: 1 (0.0ms)

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

Compiled 38 to 23 computations (39.5% saved)

end133.0ms (0.9%)

Compiler

Compiled 437 to 161 computations (63.2% saved)

Profiling

Loading profile data...