Details

Time bar (total: 16.2s)

analyze288.0ms (1.8%)

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

Compiled 14 to 9 computations (35.7% saved)

sample1.5s (9%)

Results
868.0ms8256×body256valid
570.0ms3933×body256invalid

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

simplify271.0ms (1.7%)

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

Useful iterations: 1 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 21 to 9 computations (57.1% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 25 to 15 computations (40% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

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

rewrite74.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify334.0ms (2.1%)

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

Useful iterations: 3 (0.0ms)

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

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

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

simplify294.0ms (1.8%)

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

Useful iterations: 3 (0.0ms)

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

eval30.0ms (0.2%)

Compiler

Compiled 2622 to 668 computations (74.5% saved)

prune38.0ms (0.2%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New16412176
Fresh000
Picked101
Done011
Total16513178
Error
0b
Counts
178 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
31.9b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
0.1b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.1b
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))))
26.2b
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
22.1b
(fma.f64 (-.f64 t x) y x)
22.1b
(+.f64 (*.f64 y (-.f64 t x)) x)
0.0b
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) (neg.f64 x))))
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
37.7b
(*.f64 t (-.f64 y z))
21.0b
(+.f64 x (*.f64 t (-.f64 y z)))
40.6b
(*.f64 z (-.f64 x t))
26.2b
(+.f64 x (*.f64 x (-.f64 z y)))
38.9b
(*.f64 (-.f64 t x) y)
Compiler

Compiled 327 to 200 computations (38.8% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 43 to 9 computations (79.1% saved)

series15.0ms (0.1%)

Counts
3 → 132
Calls

33 calls:

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

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
426×fma-def_binary64
392×pow-prod-down_binary64
287×pow2_binary64
205×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify343.0ms (2.1%)

Algorithm
egg-herbie
Rules
2386×fma-neg_binary64
846×fma-def_binary64
526×associate-+l-_binary64
517×sub-neg_binary64
500×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0691933
12071603
25261241
314671169
437531169
546061169
648431169
748551169
848551169
954901169
1058501169
1158501169
1279701169
1379701169
1479701169
Stop Event
saturated
Counts
274 → 183
Calls
Call 1
Inputs
(+.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))
(*.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))
Outputs
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 (+.f64 t (neg.f64 x)) y)
(*.f64 (-.f64 t x) y)
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 (+.f64 t (neg.f64 x)) y)
(*.f64 (-.f64 t x) y)
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 t (neg.f64 x)) y)
(*.f64 (-.f64 t x) y)
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.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 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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 t z) (fma.f64 z x (*.f64 (+.f64 t (neg.f64 x)) y)))
(fma.f64 z (-.f64 x t) (*.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)))
(+.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 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)))
(+.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 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)))
(+.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)
(*.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)))
(+.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 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)))
(+.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 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)))
(+.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))
(*.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)))
(+.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 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)))
(+.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 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)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 (+.f64 t (neg.f64 x)) y)
(*.f64 (-.f64 t x) y)
(+.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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 (+.f64 t (neg.f64 x)) y)
(*.f64 (-.f64 t x) y)
(+.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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(fma.f64 y t (fma.f64 -1 (*.f64 x y) x))
(fma.f64 (-.f64 t x) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) 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 x (-.f64 y z)))
(+.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)
(*.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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.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 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)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(*.f64 (neg.f64 (-.f64 y z)) x)
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 x (-.f64 z y))
(*.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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite53.0ms (0.3%)

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

simplify29.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
t
@0
(*.f64 (-.f64 t x) y)
0.0ms
t
@-inf
(*.f64 (-.f64 t x) y)
0.0ms
y
@inf
(*.f64 (-.f64 t x) y)
0.0ms
y
@0
(*.f64 (-.f64 t x) y)
0.0ms
t
@inf
(*.f64 (-.f64 t x) y)

rewrite53.0ms (0.3%)

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

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

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)

series9.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

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

simplify59.0ms (0.4%)

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

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 33 to 18 computations (45.5% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite61.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

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

simplify47.0ms (0.3%)

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

Useful iterations: 3 (0.0ms)

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

eval64.0ms (0.4%)

Compiler

Compiled 4411 to 1338 computations (69.7% saved)

prune80.0ms (0.5%)

Pruning

21 alts after pruning (18 fresh and 3 done)

PrunedKeptTotal
New32313336
Fresh257
Picked101
Done235
Total32821349
Error
0b
Counts
349 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))))
50.5b
(*.f64 t (neg.f64 z))
31.9b
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x)))
0.1b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
38.9b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
11.2b
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 z x)))
38.9b
(fma.f64 y t (neg.f64 (*.f64 y x)))
52.0b
(*.f64 y (neg.f64 x))
49.5b
(*.f64 y t)
26.2b
(*.f64 (+.f64 (-.f64 z y) 1) x)
21.0b
(+.f64 x (*.f64 t (-.f64 y z)))
22.1b
(fma.f64 (-.f64 t x) y x)
53.1b
(*.f64 z x)
22.1b
(+.f64 (*.f64 y (-.f64 t x)) x)
35.5b
(-.f64 x (*.f64 y x))
37.7b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
24.4b
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
37.7b
(*.f64 t (-.f64 y z))
40.6b
(*.f64 z (-.f64 x t))
36.9b
(*.f64 (+.f64 1 z) x)
38.9b
(*.f64 (-.f64 t x) y)
Compiler

Compiled 437 to 284 computations (35% saved)

localize26.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 (-.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)
Compiler

Compiled 50 to 10 computations (80% saved)

series25.0ms (0.2%)

Counts
3 → 132
Calls

33 calls:

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

rewrite161.0ms (1%)

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

simplify636.0ms (3.9%)

Algorithm
egg-herbie
Rules
2842×fma-neg_binary64
470×fma-def_binary64
461×associate-+l-_binary64
435×sub-neg_binary64
377×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0642059
12081715
25591169
316281169
439101169
549691169
651781169
752021169
852021169
956391169
1057441169
1157441169
1279701169
1379701169
1479701169
Stop Event
saturated
Counts
417 → 323
Calls
Call 1
Inputs
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
Outputs
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x)))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 (+.f64 z (*.f64 -1 y)) x)
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))
(fma.f64 z x (neg.f64 (*.f64 x y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x))))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x)
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x))
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1))
(+.f64 x (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (fma.f64 -1 z y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(fma.f64 -1 (*.f64 z (-.f64 t x)) x)
(-.f64 x (*.f64 z (-.f64 t x)))
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 y (-.f64 t x)) x)
(fma.f64 y (-.f64 t x) x)
(fma.f64 (-.f64 t x) y x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(*.f64 -1 (*.f64 z (-.f64 t x)))
(fma.f64 -1 (*.f64 z t) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 t y)))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 t x) (-.f64 y z) x)

localize9.0ms (0.1%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series183.0ms (1.1%)

Counts
1 → 24
Calls

9 calls:

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

rewrite74.0ms (0.5%)

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

simplify63.0ms (0.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
09228
117192
239156
357156
481156
5133156
6249156
7406156
8575156
9729156
10743156
Stop Event
saturated
Counts
43 → 24
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))
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.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 (*.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 (*.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))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series8.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

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

rewrite91.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
404×prod-exp_binary64
369×fma-def_binary64
341×exp-prod_binary64
338×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify65.0ms (0.4%)

Algorithm
egg-herbie
Rules
285×fma-neg_binary64
284×fma-def_binary64
88×cancel-sign-sub-inv_binary64
51×distribute-rgt-in_binary64
45×associate--r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
015345
134344
261344
3104344
4157344
5263344
6506344
7759344
81006344
91214344
101232344
Stop Event
saturated
Counts
113 → 77
Calls
Call 1
Inputs
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 y t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
Outputs
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(fma.f64 -1 (*.f64 t z) x)
(-.f64 x (*.f64 t z))
(fma.f64 t (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 y t) x)
(fma.f64 y t x)
(fma.f64 t y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) 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 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) 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 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 t (-.f64 y z) x)

localize25.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series11.0ms (0.1%)

Counts
2 → 42
Calls

15 calls:

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

rewrite128.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
763×fma-def_binary64
550×log-prod_binary64
416×pow-prod-down_binary64
406×fma-neg_binary64
277×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify225.0ms (1.4%)

Algorithm
egg-herbie
Rules
340×fma-def_binary64
254×fma-neg_binary64
59×cancel-sign-sub-inv_binary64
54×unsub-neg_binary64
46×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027281
172261
2158261
3336261
4681261
51091261
61256261
71281261
81282261
Stop Event
saturated
Counts
226 → 199
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) x)
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 t z))
x
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(*.f64 -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 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
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
x
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z (fma.f64 -1 t x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x)
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 z t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 (fma.f64 -1 t x) z 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 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(fma.f64 (fma.f64 -1 t x) z 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 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(fma.f64 (fma.f64 -1 t x) z x)
(fma.f64 z (-.f64 x t) x)
x
(*.f64 z x)
(*.f64 z x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)

eval255.0ms (1.6%)

Compiler

Compiled 11247 to 2983 computations (73.5% saved)

prune172.0ms (1.1%)

Pruning

26 alts after pruning (20 fresh and 6 done)

PrunedKeptTotal
New66211673
Fresh4913
Picked101
Done167
Total66826694
Error
0b
Counts
694 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
38.9b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
37.7b
(*.f64 t (-.f64 y z))
40.6b
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
11.2b
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 z x)))
38.9b
(fma.f64 y t (neg.f64 (*.f64 y x)))
50.5b
(*.f64 z (neg.f64 t))
53.1b
(*.f64 z x)
52.0b
(*.f64 y (neg.f64 x))
49.5b
(*.f64 y t)
26.2b
(*.f64 (+.f64 (-.f64 z y) 1) x)
21.0b
(+.f64 x (*.f64 t (-.f64 y z)))
45.9b
x
40.6b
(*.f64 z (-.f64 x t))
32.9b
(fma.f64 t y x)
36.9b
(*.f64 (+.f64 1 z) x)
22.1b
(fma.f64 (-.f64 t x) y x)
35.5b
(-.f64 x (*.f64 y x))
0.0b
(+.f64 x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))
37.7b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
34.1b
(+.f64 x (*.f64 t (neg.f64 z)))
51.2b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t))
20.9b
(+.f64 x (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)))
32.9b
(+.f64 (*.f64 y t) x)
22.1b
(+.f64 (*.f64 y (-.f64 t x)) x)
38.9b
(*.f64 (-.f64 t x) y)
Compiler

Compiled 481 to 314 computations (34.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 45 to 9 computations (80% saved)

series43.0ms (0.3%)

Counts
3 → 120
Calls

33 calls:

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

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
659×log-prod_binary64
424×fma-neg_binary64
344×pow2_binary64
234×pow1/3_binary64
232×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify411.0ms (2.5%)

Algorithm
egg-herbie
Rules
2723×fma-neg_binary64
400×fma-def_binary64
361×sub-neg_binary64
346×associate-+l-_binary64
341×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0712012
12271502
26161085
317341085
438601085
545281085
646911085
746921085
846921085
950481085
1050961085
1150961085
1272391085
1372391085
1472391085
Stop Event
saturated
Counts
318 → 240
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(*.f64 t z)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(*.f64 t z)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(*.f64 t z)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(-.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (*.f64 y t) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(*.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 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 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 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (*.f64 y t) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 x (*.f64 z (-.f64 t x)))
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(*.f64 y (-.f64 t x))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(*.f64 y (-.f64 t x))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(+.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 -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 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(*.f64 t z)
(*.f64 z t)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(*.f64 t z)
(*.f64 z t)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(*.f64 t z)
(*.f64 z t)
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(+.f64 (*.f64 t z) (*.f64 -1 (*.f64 z x)))
(fma.f64 t z (neg.f64 (*.f64 z x)))
(*.f64 z (-.f64 t x))
(-.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (-.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 x (fma.f64 -1 y z))
(*.f64 x (-.f64 z y))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (*.f64 y t) (*.f64 t z))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x)
(*.f64 -1 (-.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 x (fma.f64 -1 y z))
(*.f64 x (-.f64 z y))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 -1 (-.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 x (fma.f64 -1 y z))
(*.f64 x (-.f64 z y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.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)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.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)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 z (-.f64 x t))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 z (-.f64 x t)) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.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)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(-.f64 (fma.f64 t (-.f64 y z) (*.f64 (neg.f64 y) x)) (neg.f64 (*.f64 z x)))
(fma.f64 x (fma.f64 -1 y z) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 (*.f64 y t) (*.f64 t z))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x)
(*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z))))
(*.f64 x (+.f64 z (-.f64 1 y)))
(fma.f64 x (-.f64 z y) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 -1 z)) x) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z))))
(*.f64 x (+.f64 z (-.f64 1 y)))
(fma.f64 x (-.f64 z y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 y t)) (*.f64 t z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) (*.f64 -1 (*.f64 z x)))
(*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z))))
(*.f64 x (+.f64 z (-.f64 1 y)))
(fma.f64 x (-.f64 z y) x)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t))
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 z)) t)) (+.f64 (*.f64 -1 (*.f64 y x)) x)) (*.f64 -1 (*.f64 z x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 x (*.f64 z (-.f64 t x)))
(fma.f64 (neg.f64 z) (-.f64 t x) x)
(fma.f64 z (-.f64 x t) x)
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 (-.f64 t x) z))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 t x)))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(*.f64 z (-.f64 x t))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 z (neg.f64 (-.f64 t x)))
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(+.f64 (*.f64 z (-.f64 x t)) (+.f64 x (*.f64 y (-.f64 t x))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(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))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x (*.f64 t y)) (*.f64 z t))
(fma.f64 x (+.f64 z (-.f64 1 y)) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 y z) (-.f64 t x) x)

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 y t) x)
Compiler

Compiled 15 to 6 computations (60% saved)

series5.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite56.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
707×pow1_binary64
655×add-log-exp_binary64
655×log1p-expm1-u_binary64
655×expm1-log1p-u_binary64
640×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0524
1624
Stop Event
saturated
Counts
44 → 37
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x
Outputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series7.0ms (0%)

Counts
2 → 57
Calls

18 calls:

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

rewrite107.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
951×pow1_binary64
883×add-log-exp_binary64
883×log1p-expm1-u_binary64
883×expm1-log1p-u_binary64
864×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify239.0ms (1.5%)

Algorithm
egg-herbie
Rules
409×fma-def_binary64
296×fma-neg_binary64
64×cancel-sign-sub-inv_binary64
60×distribute-rgt-in_binary64
42×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025507
160396
2116396
3211396
4372396
5675396
61058396
71297396
81416396
91418396
Stop Event
saturated
Counts
109 → 68
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)))
x
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
Outputs
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(*.f64 y (-.f64 t x))
x
(*.f64 y (-.f64 t x))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 y (-.f64 t x))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(fma.f64 -1 (*.f64 y x) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(fma.f64 -1 (*.f64 y x) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(fma.f64 y (-.f64 t x) x)

localize18.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 9 computations (74.3% saved)

series46.0ms (0.3%)

Counts
2 → 84
Calls

21 calls:

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

rewrite179.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
566×fma-def_binary64
548×log-prod_binary64
439×pow-prod-down_binary64
310×fma-neg_binary64
280×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (0.7%)

Algorithm
egg-herbie
Rules
315×fma-def_binary64
292×fma-neg_binary64
55×cancel-sign-sub-inv_binary64
46×distribute-rgt-in_binary64
46×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022861
162584
2132584
3249584
4484584
5748584
61017584
71161584
81223584
91229584
Stop Event
saturated
Counts
364 → 297
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))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
x
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
x
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
x
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(+.f64 (*.f64 y t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
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))
(+.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 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(fma.f64 -1 (*.f64 t z) x)
(fma.f64 (neg.f64 t) z x)
(fma.f64 z (neg.f64 t) x)
(-.f64 x (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
x
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 t (+.f64 (*.f64 -1 z) y))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) x)
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(fma.f64 -1 (*.f64 t z) (*.f64 t y))
(*.f64 t (-.f64 y z))
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 y t) x)
(fma.f64 y t x)
(fma.f64 t y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(fma.f64 -1 (*.f64 t z) (fma.f64 y t x))
(fma.f64 t (-.f64 y z) x)

eval336.0ms (2.1%)

Compiler

Compiled 10969 to 2776 computations (74.7% saved)

prune595.0ms (3.7%)

Pruning

26 alts after pruning (17 fresh and 9 done)

PrunedKeptTotal
New6598667
Fresh6915
Picked101
Done1910
Total66726693
Error
0b
Counts
693 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
38.9b
(+.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))
37.7b
(*.f64 t (-.f64 y z))
40.6b
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))
50.5b
(*.f64 z (neg.f64 t))
53.1b
(*.f64 z x)
52.0b
(*.f64 y (neg.f64 x))
49.5b
(*.f64 y t)
26.2b
(*.f64 (+.f64 (-.f64 z y) 1) x)
21.0b
(+.f64 x (*.f64 t (-.f64 y z)))
40.6b
(*.f64 z (-.f64 x t))
45.9b
x
32.9b
(+.f64 (*.f64 y t) x)
35.5b
(-.f64 x (*.f64 y x))
36.9b
(*.f64 (+.f64 1 z) x)
13.7b
(+.f64 x (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (-.f64 t x) z)))
20.9b
(+.f64 x (-.f64 (*.f64 y t) (*.f64 t z)))
37.7b
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))
38.9b
(*.f64 (-.f64 t x) y)
38.9b
(fma.f64 y t (*.f64 (neg.f64 y) x))
32.9b
(fma.f64 y t x)
22.1b
(fma.f64 (-.f64 t x) y x)
51.2b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t))
11.2b
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 z x)))
22.1b
(+.f64 (*.f64 y (-.f64 t x)) x)
34.1b
(-.f64 x (*.f64 t z))
Compiler

Compiled 269 to 177 computations (34.2% saved)

regimes439.0ms (2.7%)

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

6 calls:

135.0ms
z
98.0ms
(-.f64 y z)
58.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
53.0ms
x
29.0ms
t
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
Compiler

Compiled 373 to 120 computations (67.8% saved)

regimes306.0ms (1.9%)

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

7 calls:

63.0ms
t
55.0ms
y
52.0ms
(-.f64 y z)
49.0ms
(-.f64 y z)
26.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
0.0b1(-.f64 y z)
Compiler

Compiled 367 to 123 computations (66.5% saved)

regimes390.0ms (2.4%)

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

6 calls:

261.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
21.0ms
(-.f64 y z)
20.0ms
y
19.0ms
z
17.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
0.1b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.1b1(-.f64 y z)
Compiler

Compiled 225 to 88 computations (60.9% saved)

regimes711.0ms (4.4%)

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

6 calls:

186.0ms
x
178.0ms
(-.f64 y z)
171.0ms
(-.f64 y z)
69.0ms
y
61.0ms
z
Results
ErrorSegmentsBranch
10.4b4x
12.1b3y
7.8b3z
11.1b3t
12.0b10(-.f64 y z)
12.0b10(-.f64 y z)
Compiler

Compiled 177 to 73 computations (58.8% saved)

bsearch38.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
91141986.4606301
157153205.52837175
19.0ms
-116674237913323800.0
-3619340018245914.5
Compiler

Compiled 20 to 14 computations (30% saved)

regimes754.0ms (4.6%)

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

6 calls:

204.0ms
(-.f64 y z)
171.0ms
(-.f64 y z)
156.0ms
t
80.0ms
z
60.0ms
y
Results
ErrorSegmentsBranch
10.4b4x
12.1b3y
7.8b3z
11.1b3t
12.0b10(-.f64 y z)
12.0b10(-.f64 y z)
Compiler

Compiled 135 to 62 computations (54.1% saved)

bsearch74.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
91141986.4606301
157153205.52837175
54.0ms
-116674237913323800.0
-3619340018245914.5
Compiler

Compiled 20 to 14 computations (30% saved)

regimes828.0ms (5.1%)

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

6 calls:

329.0ms
(-.f64 y z)
264.0ms
(-.f64 y z)
86.0ms
y
74.0ms
z
44.0ms
x
Results
ErrorSegmentsBranch
13.4b5x
14.3b6y
15.4b4z
17.4b3t
15.1b9(-.f64 y z)
15.1b9(-.f64 y z)
Compiler

Compiled 114 to 57 computations (50% saved)

bsearch75.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.3870105224267186e-52
1.6615441467568702e-50
18.0ms
-2.3928543910031956e-144
-5.179111161231406e-146
19.0ms
-1.48141098893371e-130
-2.887326901736866e-136
19.0ms
-9.576090861113763e-74
-2.0982731826132592e-91
Compiler

Compiled 20 to 14 computations (30% saved)

regimes377.0ms (2.3%)

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

6 calls:

94.0ms
(-.f64 y z)
90.0ms
(-.f64 y z)
63.0ms
x
51.0ms
t
42.0ms
y
Results
ErrorSegmentsBranch
17.9b7x
15.6b5y
15.4b4z
22.5b6t
14.9b10(-.f64 y z)
14.9b10(-.f64 y z)
Compiler

Compiled 107 to 53 computations (50.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2235105951615249e+144
1.0025833244431187e+145
0.0ms
7.790238874578222e+57
1.464346514326742e+60
0.0ms
1.1308206687897626e-14
1.4873741164700178e-8
0.0ms
3.691761484571409e-217
3.464311126009969e-209
0.0ms
-8.198688835302201e-18
-4.592577687699531e-22
0.0ms
-8.63264809106573e+26
-10172612919778337000.0
0.0ms
-2.088840915040933e+63
-7.553516815338284e+62
0.0ms
-3.5559118645962074e+124
-1.718219635134786e+121
0.0ms
-2.080339438972869e+151
-4.151333681589292e+149
Compiler

Compiled 20 to 14 computations (30% saved)

regimes304.0ms (1.9%)

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

6 calls:

61.0ms
(-.f64 y z)
59.0ms
(-.f64 y z)
47.0ms
t
46.0ms
y
46.0ms
x
Results
ErrorSegmentsBranch
19.3b6x
22.6b6y
15.4b4z
22.5b6t
19.7b8(-.f64 y z)
19.7b8(-.f64 y z)
Compiler

Compiled 96 to 50 computations (47.9% saved)

bsearch55.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
91141986.4606301
157153205.52837175
18.0ms
-4.484975326021595e-158
-2.965907956572185e-158
18.0ms
-116674237913323800.0
-3619340018245914.5
Compiler

Compiled 20 to 14 computations (30% saved)

regimes355.0ms (2.2%)

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

6 calls:

79.0ms
(-.f64 y z)
78.0ms
(-.f64 y z)
70.0ms
x
48.0ms
t
47.0ms
y
Results
ErrorSegmentsBranch
19.5b6x
22.6b6y
23.8b3z
22.9b6t
19.5b10(-.f64 y z)
19.5b10(-.f64 y z)
Compiler

Compiled 91 to 48 computations (47.3% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.355579229679892e+127
1.646418477356119e+127
0.0ms
1.9430534978273712e+43
4.3375522900796194e+51
0.0ms
5.772770447447739e-50
5.156098069606677e-46
0.0ms
3.691761484571409e-217
3.464311126009969e-209
0.0ms
-7.6346447822744405e+31
-8.63264809106573e+26
0.0ms
-2.088840915040933e+63
-7.553516815338284e+62
0.0ms
-1.4259639260510307e+79
-6.828876494067626e+77
0.0ms
-1.097188961799254e+112
-8.136435226591918e+109
0.0ms
-3.5559118645962074e+124
-1.718219635134786e+121
Compiler

Compiled 20 to 14 computations (30% saved)

regimes399.0ms (2.5%)

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

4 calls:

139.0ms
y
111.0ms
x
78.0ms
z
66.0ms
t
Results
ErrorSegmentsBranch
23.3b8x
24.3b4y
22.9b6z
24.6b5t
Compiler

Compiled 72 to 36 computations (50% saved)

bsearch219.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
3.1212514269023946e+22
8.63264809106573e+26
35.0ms
-4.484975326021595e-158
-2.965907956572185e-158
35.0ms
-116674237913323800.0
-3619340018245914.5
36.0ms
-8.363837729284926e+20
-116674237913323800.0
79.0ms
-1.0025833244431187e+145
-4.189447692731455e+135
Compiler

Compiled 173 to 131 computations (24.3% saved)

regimes203.0ms (1.3%)

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

4 calls:

78.0ms
t
43.0ms
y
41.0ms
z
37.0ms
x
Results
ErrorSegmentsBranch
26.2b5x
23.0b6y
25.9b7z
25.9b6t
Compiler

Compiled 57 to 32 computations (43.9% saved)

bsearch247.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.355579229679892e+127
1.646418477356119e+127
19.0ms
17073988211.57739
35822762743293244.0
92.0ms
-2.088840915040933e+63
-5.142553864564898e+59
74.0ms
-5.651124735711262e+87
-5.3544280507839e+83
47.0ms
-3.767117330750686e+111
-8.136435226591918e+109
Compiler

Compiled 478 to 360 computations (24.7% saved)

regimes151.0ms (0.9%)

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

4 calls:

46.0ms
y
43.0ms
t
32.0ms
x
27.0ms
z
Results
ErrorSegmentsBranch
28.8b4x
30.6b8y
26.9b5z
29.6b7t
Compiler

Compiled 52 to 30 computations (42.3% saved)

bsearch96.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
3.1212514269023946e+22
8.63264809106573e+26
18.0ms
-116674237913323800.0
-3619340018245914.5
18.0ms
-8.363837729284926e+20
-116674237913323800.0
42.0ms
-1.0025833244431187e+145
-4.189447692731455e+135
Compiler

Compiled 173 to 131 computations (24.3% saved)

regimes192.0ms (1.2%)

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

4 calls:

56.0ms
x
55.0ms
y
45.0ms
z
34.0ms
t
Results
ErrorSegmentsBranch
32.4b10x
31.0b10y
32.2b8z
37.9b7t
Compiler

Compiled 47 to 28 computations (40.4% saved)

bsearch295.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.355579229679892e+127
1.646418477356119e+127
35.0ms
17073988211.57739
35822762743293244.0
35.0ms
5.772770447447739e-50
5.156098069606684e-46
34.0ms
4.089327388540999e-89
5.245379165008542e-82
18.0ms
7.346391320372181e-249
2.7348335279444666e-244
19.0ms
2.5986446120058805e-281
1.1507702278672907e-278
18.0ms
-0.0034752655372737463
-0.0007358819558170309
64.0ms
-5.651124735711262e+87
-5.3544280507839e+83
43.0ms
-3.767117330750686e+111
-8.136435226591918e+109
Compiler

Compiled 326 to 248 computations (23.9% saved)

regimes282.0ms (1.7%)

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

4 calls:

75.0ms
z
69.0ms
y
68.0ms
x
67.0ms
t
Results
ErrorSegmentsBranch
35.1b6x
34.8b7y
32.3b8z
38.3b7t
Compiler

Compiled 43 to 26 computations (39.5% saved)

bsearch273.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
3.1212514269023946e+22
8.63264809106573e+26
34.0ms
5.276432870778914e-26
4.2098507877402806e-24
36.0ms
4.682242514147119e-197
1.107787624324008e-196
35.0ms
-8.422743967248443e-301
-4.3174202716375347e-305
35.0ms
-1.4427937764914342e-18
-6.514544600750082e-20
35.0ms
-8.363837729284926e+20
-116674237913323800.0
80.0ms
-1.0025833244431187e+145
-4.189447692731455e+135
Compiler

Compiled 173 to 131 computations (24.3% saved)

regimes92.0ms (0.6%)

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

4 calls:

28.0ms
t
24.0ms
z
21.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
38.1b4x
36.0b5y
34.1b6z
38.9b7t
Compiler

Compiled 35 to 22 computations (37.1% saved)

bsearch90.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
3.1212514269023946e+22
8.63264809106573e+26
18.0ms
5.276432870778914e-26
4.2098507877402806e-24
18.0ms
4.682242514147119e-197
1.107787624324008e-196
18.0ms
-8.422743967248443e-301
-4.3174202716375347e-305
18.0ms
-3619340018245914.5
-0.00014006096251881157
Compiler

Compiled 20 to 14 computations (30% saved)

regimes47.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:

17.0ms
t
10.0ms
y
10.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
44.2b3x
43.4b3y
37.0b3z
43.2b5t
Compiler

Compiled 29 to 21 computations (27.6% saved)

bsearch36.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.04196498091019673
31074.012090485998
18.0ms
-3619340018245914.5
-0.00014006096251881157
Compiler

Compiled 20 to 14 computations (30% saved)

regimes15.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
t
3.0ms
x
3.0ms
z
3.0ms
y
Results
ErrorSegmentsBranch
45.9b1x
45.9b1y
45.9b1z
45.9b1t
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify91.0ms (0.6%)

Algorithm
egg-herbie
Rules
111×cancel-sign-sub-inv_binary64
107×distribute-rgt-neg-in_binary64
87×neg-sub0_binary64
87×neg-mul-1_binary64
81×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0183953
1235951
2275951
3309949
4375949
5484949
6611949
7739949
8897949
9987949
101058949
111121949
121147949
131151949
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) (neg.f64 x))))
(+.f64 x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 x -6095887998980195/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 (+.f64 (-.f64 z y) 1) x) (if (<=.f64 x -7399348171401583/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 (-.f64 t x) y) (if (<=.f64 x -2102587036722175/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) (*.f64 (+.f64 1 z) x) (if (<=.f64 x 934843242785027/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 t (-.f64 y z)) (*.f64 (+.f64 (-.f64 z y) 1) x)))))
(if (<=.f64 (-.f64 y z) -20000000000000000343550647744354382360786208168610910215464656890400062525563770840165253485722346365445091919087085669573862252890346012499269098930176) (*.f64 (-.f64 t x) y) (if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (*.f64 (-.f64 t x) y) (if (<=.f64 (-.f64 y z) -500000000000000006643777536) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -6490371073168535/1298074214633706907132624082305024) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 6338253001141147/316912650057057350374175801344) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 9999999999999999438119489974413630815797154428513196965888) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) 2000000000000000047490864717302210714817315855657364374946929977340474859084041145136355256432166588258691938267680232151586826339780163146874880) (*.f64 (-.f64 t x) y) (*.f64 t (-.f64 y z)))))))))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 y x)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t)))))
(if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -9999999999999999301199346926304397284673331501389768492615896861647229832830913903761963586894254467577228034048) (-.f64 x (*.f64 y x)) (if (<=.f64 (-.f64 y z) -9999999999999999673560075006595519222746403606649979913266024618633003221909504) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (-.f64 x (*.f64 y x)) (if (<=.f64 (-.f64 y z) -50000000000000002683081102196736) (*.f64 (+.f64 1 z) x) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 5265614583427859/52656145834278593348959013841835216159447547700274555627155488768) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 20000000000000000278744233918828198261424128) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 15000000000000001127617303747773129412071435965286123202243636535366488878636228069968116516466370531423989325582787894900162560) (*.f64 y (neg.f64 x)) (*.f64 t (-.f64 y z)))))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 y x)) (if (<=.f64 z 31212514269023946407936) (+.f64 (*.f64 y t) x) (*.f64 z x))))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2049999999999999963324268916181853087014912836703762059811094528) (*.f64 y (neg.f64 x)) (if (<=.f64 y 8951687131471487/524288) (-.f64 x (*.f64 t z)) (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 y (neg.f64 x)) (*.f64 y t))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z 31212514269023946407936) (-.f64 x (*.f64 y x)) (*.f64 z x)))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2003354186070985/576460752303423488) (*.f64 y (neg.f64 x)) (if (<=.f64 y 8497528286079465/326998476314168493941780105303955630664491214509745363599777340200912796363811072538207513066313433266477866490952498420772444240018406385375505907430986779905229729456305877240633380281444431820005925969026076507067319984967003404515550047182527554765966689382523869862684015858539562586584645632) x (if (<=.f64 y 7402531353254589/1007641851683931820587806291420968258893675472328417820220872324040744595635843008946260940337480903424595632540239579541935629958157893251896932560850028184716008537290582817399466548302510149103210893455908181007667595468047259786297601506742546990374638711734272) (*.f64 z (neg.f64 t)) (if (<=.f64 y 1465447922804543/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) x (if (<=.f64 y 6079436850972437/105312291668557186697918027683670432318895095400549111254310977536) (*.f64 y t) (if (<=.f64 y 8951687131471487/524288) x (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 y (neg.f64 x)) (*.f64 y t))))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -3745706796595037/2596148429267413814265248164610048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 z x))))))))
(if (<=.f64 z -7238680036491829/2) (*.f64 z x) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 z x))))))
(if (<=.f64 z -7238680036491829/2) (*.f64 z x) (if (<=.f64 z 6047791116472703/144115188075855872) x (*.f64 z x)))
x
Outputs
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) (neg.f64 x))))
(+.f64 x (fma.f64 (-.f64 y z) t (*.f64 x (-.f64 z y))))
(+.f64 x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))
(+.f64 x (-.f64 (*.f64 y (-.f64 t x)) (*.f64 z (-.f64 t x))))
(+.f64 x (+.f64 (*.f64 y (-.f64 t x)) (*.f64 z (-.f64 x t))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 x (*.f64 y (-.f64 t x))) (+.f64 (*.f64 x z) (*.f64 z (neg.f64 t)))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 x (*.f64 y (-.f64 t x))) (-.f64 (*.f64 x z) (*.f64 z t))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y (-.f64 t x)) x) (*.f64 z (-.f64 x t))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 x (*.f64 y (-.f64 t x))) (*.f64 z (-.f64 x t))))
(if (<=.f64 x -6095887998980195/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 (+.f64 (-.f64 z y) 1) x) (if (<=.f64 x -7399348171401583/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 (-.f64 t x) y) (if (<=.f64 x -2102587036722175/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) (*.f64 (+.f64 1 z) x) (if (<=.f64 x 934843242785027/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 t (-.f64 y z)) (*.f64 (+.f64 (-.f64 z y) 1) x)))))
(if (<=.f64 x -6095887998980195/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 x (+.f64 (-.f64 z y) 1)) (if (<=.f64 x -7399348171401583/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 y (-.f64 t x)) (if (<=.f64 x -2102587036722175/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) (*.f64 x (+.f64 z 1)) (if (<=.f64 x 934843242785027/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 (-.f64 y z) t) (*.f64 x (+.f64 (-.f64 z y) 1))))))
(if (<=.f64 x -6095887998980195/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 x (+.f64 1 (-.f64 z y))) (if (<=.f64 x -7399348171401583/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 y (-.f64 t x)) (if (<=.f64 x -2102587036722175/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) (*.f64 x (+.f64 z 1)) (if (<=.f64 x 934843242785027/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 (-.f64 y z) t) (*.f64 x (+.f64 1 (-.f64 z y)))))))
(if (<=.f64 (-.f64 y z) -20000000000000000343550647744354382360786208168610910215464656890400062525563770840165253485722346365445091919087085669573862252890346012499269098930176) (*.f64 (-.f64 t x) y) (if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (*.f64 (-.f64 t x) y) (if (<=.f64 (-.f64 y z) -500000000000000006643777536) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -6490371073168535/1298074214633706907132624082305024) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 6338253001141147/316912650057057350374175801344) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 9999999999999999438119489974413630815797154428513196965888) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) 2000000000000000047490864717302210714817315855657364374946929977340474859084041145136355256432166588258691938267680232151586826339780163146874880) (*.f64 (-.f64 t x) y) (*.f64 t (-.f64 y z)))))))))))
(if (<=.f64 (-.f64 y z) -20000000000000000343550647744354382360786208168610910215464656890400062525563770840165253485722346365445091919087085669573862252890346012499269098930176) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -500000000000000006643777536) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) -6490371073168535/1298074214633706907132624082305024) (*.f64 (-.f64 y z) t) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 z t)) (if (<=.f64 (-.f64 y z) 6338253001141147/316912650057057350374175801344) (+.f64 x (*.f64 y t)) (if (<=.f64 (-.f64 y z) 9999999999999999438119489974413630815797154428513196965888) (*.f64 z (-.f64 x t)) (if (<=.f64 (-.f64 y z) 2000000000000000047490864717302210714817315855657364374946929977340474859084041145136355256432166588258691938267680232151586826339780163146874880) (*.f64 y (-.f64 t x)) (*.f64 (-.f64 y z) t))))))))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 y x)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -116674237913323808) (*.f64 z (-.f64 x t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 x y)) (if (<=.f64 z 6116435174076267/67108864) (+.f64 x (*.f64 y t)) (*.f64 z (-.f64 x t)))))
(if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -9999999999999999301199346926304397284673331501389768492615896861647229832830913903761963586894254467577228034048) (-.f64 x (*.f64 y x)) (if (<=.f64 (-.f64 y z) -9999999999999999673560075006595519222746403606649979913266024618633003221909504) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (-.f64 x (*.f64 y x)) (if (<=.f64 (-.f64 y z) -50000000000000002683081102196736) (*.f64 (+.f64 1 z) x) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 5265614583427859/52656145834278593348959013841835216159447547700274555627155488768) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 20000000000000000278744233918828198261424128) (-.f64 x (*.f64 t z)) (if (<=.f64 (-.f64 y z) 15000000000000001127617303747773129412071435965286123202243636535366488878636228069968116516466370531423989325582787894900162560) (*.f64 y (neg.f64 x)) (*.f64 t (-.f64 y z)))))))))))
(if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 (-.f64 y z) t) (if (<=.f64 (-.f64 y z) -9999999999999999301199346926304397284673331501389768492615896861647229832830913903761963586894254467577228034048) (-.f64 x (*.f64 x y)) (if (<=.f64 (-.f64 y z) -9999999999999999673560075006595519222746403606649979913266024618633003221909504) (*.f64 (-.f64 y z) t) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (-.f64 x (*.f64 x y)) (if (<=.f64 (-.f64 y z) -50000000000000002683081102196736) (*.f64 x (+.f64 z 1)) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 z t)) (if (<=.f64 (-.f64 y z) 5265614583427859/52656145834278593348959013841835216159447547700274555627155488768) (+.f64 x (*.f64 y t)) (if (<=.f64 (-.f64 y z) 20000000000000000278744233918828198261424128) (-.f64 x (*.f64 z t)) (if (<=.f64 (-.f64 y z) 15000000000000001127617303747773129412071435965286123202243636535366488878636228069968116516466370531423989325582787894900162560) (*.f64 y (neg.f64 x)) (*.f64 (-.f64 y z) t))))))))))
(if (<=.f64 (-.f64 y z) -19999999999999998967063748934624286428789536754564174703921029226169858140974054838505074898178041767770400845226851252043776) (*.f64 (-.f64 y z) t) (if (<=.f64 (-.f64 y z) -9999999999999999301199346926304397284673331501389768492615896861647229832830913903761963586894254467577228034048) (-.f64 x (*.f64 x y)) (if (<=.f64 (-.f64 y z) -9999999999999999673560075006595519222746403606649979913266024618633003221909504) (*.f64 (-.f64 y z) t) (if (<=.f64 (-.f64 y z) -2000000000000000115715919885453939654786757378350080876345294848) (-.f64 x (*.f64 x y)) (if (<=.f64 (-.f64 y z) -50000000000000002683081102196736) (*.f64 x (+.f64 z 1)) (if (<=.f64 (-.f64 y z) 1552518092300709/3105036184601417870297958976925005110513772034233393222278104076052101905372753772661756817657292955900975461394262146412343160088229628782888574550082362278408909952041699811100530571263196889650525998387432937501785693707632115712) (-.f64 x (*.f64 z t)) (if (<=.f64 (-.f64 y z) 5265614583427859/52656145834278593348959013841835216159447547700274555627155488768) (+.f64 x (*.f64 y t)) (if (<=.f64 (-.f64 y z) 20000000000000000278744233918828198261424128) (-.f64 x (*.f64 z t)) (if (<=.f64 (-.f64 y z) 15000000000000001127617303747773129412071435965286123202243636535366488878636228069968116516466370531423989325582787894900162560) (*.f64 x (neg.f64 y)) (*.f64 (-.f64 y z) t))))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 y x)) (if (<=.f64 z 31212514269023946407936) (+.f64 (*.f64 y t) x) (*.f64 z x))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 x y)) (if (<=.f64 z 31212514269023946407936) (+.f64 x (*.f64 y t)) (*.f64 x z))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 t (neg.f64 z)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -116674237913323808) (*.f64 t (neg.f64 z)) (if (<=.f64 z -5546353739909445/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (-.f64 x (*.f64 x y)) (if (<=.f64 z 31212514269023946407936) (+.f64 x (*.f64 y t)) (*.f64 x z))))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2049999999999999963324268916181853087014912836703762059811094528) (*.f64 y (neg.f64 x)) (if (<=.f64 y 8951687131471487/524288) (-.f64 x (*.f64 t z)) (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 y (neg.f64 x)) (*.f64 y t))))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2049999999999999963324268916181853087014912836703762059811094528) (*.f64 y (neg.f64 x)) (if (<=.f64 y 8951687131471487/524288) (-.f64 x (*.f64 z t)) (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 y (neg.f64 x)) (*.f64 y t))))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 x (neg.f64 y)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2049999999999999963324268916181853087014912836703762059811094528) (*.f64 x (neg.f64 y)) (if (<=.f64 y 8951687131471487/524288) (-.f64 x (*.f64 z t)) (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 x (neg.f64 y)) (*.f64 y t))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z 31212514269023946407936) (-.f64 x (*.f64 y x)) (*.f64 z x)))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -116674237913323808) (*.f64 z (neg.f64 t)) (if (<=.f64 z 31212514269023946407936) (-.f64 x (*.f64 x y)) (*.f64 x z)))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 t (neg.f64 z)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -116674237913323808) (*.f64 t (neg.f64 z)) (if (<=.f64 z 31212514269023946407936) (-.f64 x (*.f64 x y)) (*.f64 x z)))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2003354186070985/576460752303423488) (*.f64 y (neg.f64 x)) (if (<=.f64 y 8497528286079465/326998476314168493941780105303955630664491214509745363599777340200912796363811072538207513066313433266477866490952498420772444240018406385375505907430986779905229729456305877240633380281444431820005925969026076507067319984967003404515550047182527554765966689382523869862684015858539562586584645632) x (if (<=.f64 y 7402531353254589/1007641851683931820587806291420968258893675472328417820220872324040744595635843008946260940337480903424595632540239579541935629958157893251896932560850028184716008537290582817399466548302510149103210893455908181007667595468047259786297601506742546990374638711734272) (*.f64 z (neg.f64 t)) (if (<=.f64 y 1465447922804543/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) x (if (<=.f64 y 6079436850972437/105312291668557186697918027683670432318895095400549111254310977536) (*.f64 y t) (if (<=.f64 y 8951687131471487/524288) x (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 y (neg.f64 x)) (*.f64 y t))))))))))
(if (<=.f64 y -81999999999999993922736751458548169345130291058843883016510869382551209512819232739737395973178797255401930752) (*.f64 x (neg.f64 y)) (if (<=.f64 y -5500000000000000218503750704523077419030353678796111875054538772841611106631799663493120) (*.f64 y t) (if (<=.f64 y -2003354186070985/576460752303423488) (*.f64 x (neg.f64 y)) (if (<=.f64 y 8497528286079465/326998476314168493941780105303955630664491214509745363599777340200912796363811072538207513066313433266477866490952498420772444240018406385375505907430986779905229729456305877240633380281444431820005925969026076507067319984967003404515550047182527554765966689382523869862684015858539562586584645632) x (if (<=.f64 y 7402531353254589/1007641851683931820587806291420968258893675472328417820220872324040744595635843008946260940337480903424595632540239579541935629958157893251896932560850028184716008537290582817399466548302510149103210893455908181007667595468047259786297601506742546990374638711734272) (*.f64 t (neg.f64 z)) (if (<=.f64 y 1465447922804543/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) x (if (<=.f64 y 6079436850972437/105312291668557186697918027683670432318895095400549111254310977536) (*.f64 y t) (if (<=.f64 y 8951687131471487/524288) x (if (<=.f64 y 16200000000000000736845167095513934693271524620052789851883341441771898468073935345769157494311870952572353602428780545551892480) (*.f64 x (neg.f64 y)) (*.f64 y t))))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 z x) (if (<=.f64 z -3745706796595037/2596148429267413814265248164610048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 z x))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 z (neg.f64 t)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -3745706796595037/2596148429267413814265248164610048) (*.f64 z (neg.f64 t)) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 x z))))))))
(if (<=.f64 z -9999999999999999890870611821409196126784806260401358945180015464725302399110258148854112806457630061296658928320953898584032761523454337112604672) (*.f64 t (neg.f64 z)) (if (<=.f64 z -836383772928492568576) (*.f64 x z) (if (<=.f64 z -3745706796595037/2596148429267413814265248164610048) (*.f64 t (neg.f64 z)) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 x z))))))))
(if (<=.f64 z -7238680036491829/2) (*.f64 z x) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 z x))))))
(if (<=.f64 z -7238680036491829/2) (*.f64 x z) (if (<=.f64 z -5080647343402033/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) x (if (<=.f64 z 7881354223494841/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (*.f64 y t) (if (<=.f64 z 4596421289390313/87112285931760246646623899502532662132736) x (if (<=.f64 z 31212514269023946407936) (*.f64 y t) (*.f64 x z))))))
(if (<=.f64 z -7238680036491829/2) (*.f64 z x) (if (<=.f64 z 6047791116472703/144115188075855872) x (*.f64 z x)))
(if (<=.f64 z -7238680036491829/2) (*.f64 x z) (if (<=.f64 z 6047791116472703/144115188075855872) x (*.f64 x z)))
x
Compiler

Compiled 724 to 366 computations (49.4% saved)

soundness0.0ms (0%)

end304.0ms (1.9%)

Compiler

Compiled 660 to 241 computations (63.5% saved)

Profiling

Loading profile data...