Details

Time bar (total: 13.0s)

analyze558.0ms (4.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
12.7%12.5%85.6%0.2%1.8%0%0%11
18%17.2%78%0.2%4.7%0%0%12
Compiler

Compiled 20 to 13 computations (35% saved)

sample2.1s (15.8%)

Results
1.4s7999×body256valid
472.0ms2481×body256infinite
83.0ms152×body1024valid
27.0ms105×body512valid
Bogosity

preprocess269.0ms (2.1%)

Algorithm
egg-herbie
Rules
3374×fma-def_binary64
1265×associate-+l+_binary64
649×associate-+r+_binary64
522×+-commutative_binary64
392×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049140
1170119
2552105
31885105
43143105
53201105
63201105
73911105
83911105
93911105
104794105
114834105
124858105
134858105
145067105
155067105
166493105
176493105
187081105
197405105
044
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) t)) (*.f64 x 5))
(+.f64 (*.f64 z (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) t)) (*.f64 y 5))
(+.f64 (*.f64 t (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) x)) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) t)) (*.f64 z 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 t z) z) t) y)) (*.f64 t 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y t) t) y) z)) (*.f64 y 5))
Outputs
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(fma.f64 x (+.f64 (+.f64 y (+.f64 z z)) (+.f64 y t)) (*.f64 y 5))
(fma.f64 x (+.f64 (*.f64 2 (+.f64 y z)) t) (*.f64 y 5))
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 y 5))
(fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) t)) (*.f64 x 5))
(fma.f64 y (+.f64 t (+.f64 x (+.f64 x (+.f64 z z)))) (*.f64 x 5))
(fma.f64 x 5 (*.f64 y (+.f64 t (*.f64 2 (+.f64 x z)))))
(fma.f64 x 5 (*.f64 y (fma.f64 2 (+.f64 x z) t)))
(fma.f64 x 5 (*.f64 y (fma.f64 (+.f64 x z) 2 t)))
(+.f64 (*.f64 z (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) t)) (*.f64 y 5))
(fma.f64 z (+.f64 t (+.f64 y (+.f64 y (+.f64 x x)))) (*.f64 y 5))
(fma.f64 z (+.f64 t (*.f64 2 (+.f64 x y))) (*.f64 y 5))
(fma.f64 z (fma.f64 2 (+.f64 x y) t) (*.f64 y 5))
(fma.f64 z (fma.f64 (+.f64 x y) 2 t) (*.f64 y 5))
(fma.f64 y 5 (*.f64 z (fma.f64 (+.f64 x y) 2 t)))
(+.f64 (*.f64 t (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) x)) (*.f64 y 5))
(fma.f64 t (+.f64 x (+.f64 y (+.f64 y (+.f64 z z)))) (*.f64 y 5))
(fma.f64 t (+.f64 x (*.f64 2 (+.f64 y z))) (*.f64 y 5))
(fma.f64 t (fma.f64 2 (+.f64 y z) x) (*.f64 y 5))
(fma.f64 t (fma.f64 (+.f64 y z) 2 x) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) t)) (*.f64 z 5))
(fma.f64 x (+.f64 (+.f64 y (+.f64 z z)) (+.f64 y t)) (*.f64 z 5))
(fma.f64 x (+.f64 (*.f64 2 (+.f64 y z)) t) (*.f64 z 5))
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 z 5))
(fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 z 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 t z) z) t) y)) (*.f64 t 5))
(fma.f64 x (+.f64 y (+.f64 t (+.f64 z (+.f64 z t)))) (*.f64 t 5))
(fma.f64 x (+.f64 y (*.f64 2 (+.f64 z t))) (*.f64 t 5))
(fma.f64 x (fma.f64 2 (+.f64 z t) y) (*.f64 t 5))
(fma.f64 x (fma.f64 (+.f64 z t) 2 y) (*.f64 t 5))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y t) t) y) z)) (*.f64 y 5))
(fma.f64 x (+.f64 z (+.f64 y (+.f64 y (+.f64 t t)))) (*.f64 y 5))
(fma.f64 x (+.f64 z (*.f64 2 (+.f64 y t))) (*.f64 y 5))
(fma.f64 x (fma.f64 2 (+.f64 y t) z) (*.f64 y 5))
(fma.f64 x (fma.f64 (+.f64 y t) 2 z) (*.f64 y 5))
Compiler

Compiled 23 to 16 computations (30.4% saved)

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
594×fma-def_binary64
247×associate-+l+_binary64
179×associate-+r+_binary64
79×distribute-rgt-in_binary64
73×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01320
13317
29615
333415
485415
5132915
6150115
7151515
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
Outputs
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(fma.f64 x (+.f64 (+.f64 (+.f64 y z) (+.f64 y z)) t) (*.f64 y 5))
(fma.f64 x (+.f64 (*.f64 2 (+.f64 y z)) t) (*.f64 y 5))
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 y 5))
(fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))

eval1.0ms (0%)

Compiler

Compiled 30 to 17 computations (43.3% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 34 to 22 computations (35.3% saved)

localize35.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 62 to 15 computations (75.8% saved)

series34.0ms (0.3%)

Counts
4 → 156
Calls

39 calls:

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

rewrite144.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
580×fma-neg_binary64
301×expm1-udef_binary64
301×log1p-udef_binary64
235×log-pow_binary64
211×hypot-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01359
131947
2526647
Stop Event
node limit
Counts
4 → 183
Calls
Call 1
Inputs
(*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(+.f64 (+.f64 (+.f64 y z) z) y)
(+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 x (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y (+.f64 z z)) x) (*.f64 (+.f64 y t) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 1) (*.f64 (*.f64 x t) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 y (+.f64 z z))) (*.f64 x (+.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 3) (pow.f64 (*.f64 x t) 3)) (+.f64 (*.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x (*.f64 (+.f64 y z) 2))) (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x (*.f64 (+.f64 y z) 2)) (neg.f64 (*.f64 (*.f64 x t) (*.f64 x t)))) (fma.f64 x (*.f64 (+.f64 y z) 2) (neg.f64 (*.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3)) x) (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t)) x) (fma.f64 (+.f64 y z) 2 (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3))) (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t))) (fma.f64 (+.f64 y z) 2 (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x t)) (exp.f64 (*.f64 x (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 (+.f64 y z) 2) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) 2) x (*.f64 x t))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5)))) (/.f64 (*.f64 25 (*.f64 y y)) (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) (sqrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) (*.f64 125 (pow.f64 y 3))) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 25 (*.f64 y y))) (/.f64 1 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))) (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) (*.f64 125 (pow.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5))) (-.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 25 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) (*.f64 125 (pow.f64 y 3))) (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) (*.f64 125 (pow.f64 y 3))) (+.f64 (*.f64 25 (*.f64 y y)) (-.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 x (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 25 (*.f64 y y))) (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 3) (*.f64 125 (pow.f64 y 3)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (*.f64 25 (*.f64 y y)))) (neg.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (neg.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) 2)) (-.f64 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))) (pow.f64 (exp.f64 y) 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 (*.f64 (+.f64 y z) 2) t)) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (pow.f64 (exp.f64 x) (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) 5) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y 5)) 2) (cbrt.f64 (*.f64 y 5)) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 2) (cbrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) (sqrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) (*.f64 y 5))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y z) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (+.f64 y (-.f64 (+.f64 z z) y))) (/.f64 (*.f64 y y) (+.f64 y (-.f64 (+.f64 z z) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y z) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 y z)) (+.f64 (pow.f64 (cbrt.f64 (+.f64 y z)) 2) (pow.f64 (cbrt.f64 (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 y z)) 2) (+.f64 (cbrt.f64 (+.f64 y z)) (cbrt.f64 (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 y z) 2)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) 2)) 2) (cbrt.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 y z)) (+.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 y z) 2)) (sqrt.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 y (+.f64 z z)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y (-.f64 y (+.f64 y (+.f64 z z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y y)) (/.f64 1 (+.f64 y (-.f64 (+.f64 z z) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y (-.f64 y (+.f64 y (+.f64 z z))))) (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 y (+.f64 z z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 y (-.f64 (+.f64 z z) y)) (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 y (+.f64 z z)) 3)) (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y (-.f64 y (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 y (+.f64 z z)) 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y y)) (+.f64 y (-.f64 (+.f64 z z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 y (+.f64 z z)) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y (-.f64 y (+.f64 y (+.f64 z z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 y y))) (neg.f64 (+.f64 y (-.f64 (+.f64 z z) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 z (-.f64 z y)))) (*.f64 (fma.f64 y y (*.f64 z (-.f64 z y))) (+.f64 (pow.f64 z 3) (pow.f64 y 3)))) (*.f64 (fma.f64 y y (*.f64 z (-.f64 z y))) (fma.f64 y y (*.f64 z (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (fma.f64 y y (*.f64 z (-.f64 z y)))) (*.f64 (-.f64 y z) (+.f64 (pow.f64 z 3) (pow.f64 y 3)))) (*.f64 (-.f64 y z) (fma.f64 y y (*.f64 z (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 y 3)) (-.f64 y z)) (*.f64 (fma.f64 y y (*.f64 z (-.f64 z y))) (-.f64 (*.f64 y y) (*.f64 z z)))) (*.f64 (fma.f64 y y (*.f64 z (-.f64 z y))) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 y z)) (*.f64 (-.f64 y z) (-.f64 (*.f64 y y) (*.f64 z z)))) (*.f64 (-.f64 y z) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 (+.f64 y z) 3)) (+.f64 (pow.f64 (+.f64 y z) 2) (-.f64 (pow.f64 (+.f64 y z) 2) (pow.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y z) 2) (pow.f64 (+.f64 y z) 2)) (-.f64 (+.f64 y z) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (pow.f64 (+.f64 y (+.f64 z z)) 2)) (-.f64 y (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y z) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y z) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (+.f64 y (+.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y z))) (exp.f64 (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y z)) (+.f64 1 (expm1.f64 (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y z))) (+.f64 1 (expm1.f64 (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z)))) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y (+.f64 z z))) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z)))) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y z) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (+.f64 y (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y z) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y (+.f64 z z)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y z)) 2) (cbrt.f64 (+.f64 y z)) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) 2) (cbrt.f64 (+.f64 y (+.f64 z z))) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 y) (+.f64 y (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z)) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y (+.f64 z z))) (sqrt.f64 (+.f64 y (+.f64 z z))) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 y (+.f64 z z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (*.f64 (+.f64 y z) 2) t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (fma.f64 (+.f64 y z) 2 (neg.f64 t))) (/.f64 (*.f64 t t) (fma.f64 (+.f64 y z) 2 (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (+.f64 y z) 2) t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) 2) (cbrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) (sqrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t)) (/.f64 1 (fma.f64 (+.f64 y z) 2 (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2)))) (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 y z) 2 (neg.f64 t)) (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3)) (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3)) (+.f64 (*.f64 t t) (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t)) (fma.f64 (+.f64 y z) 2 (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 3) (pow.f64 t 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t (-.f64 t (*.f64 (+.f64 y z) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.f64 t t))) (neg.f64 (fma.f64 (+.f64 y z) 2 (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 3) (pow.f64 (+.f64 y t) 3)) (+.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (-.f64 (*.f64 (+.f64 y t) (+.f64 y t)) (*.f64 (+.f64 y (+.f64 z z)) (+.f64 y t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2) (*.f64 (+.f64 y t) (+.f64 y t))) (-.f64 (+.f64 y (+.f64 z z)) (+.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 t t) (pow.f64 (*.f64 (+.f64 y z) 2) 2)) (-.f64 t (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 (+.f64 y z) 2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z)))) (exp.f64 (+.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y (+.f64 z z))) (*.f64 (exp.f64 y) (exp.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z)))) (*.f64 (exp.f64 y) (exp.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y z) 2))) (exp.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 y z) 2)) (+.f64 1 (expm1.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y z) 2))) (+.f64 1 (expm1.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 t)) (exp.f64 (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 t) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 t)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y t)) (exp.f64 (+.f64 y (+.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 t)) (exp.f64 (+.f64 y (+.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y t)) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 y) (exp.f64 t)) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (*.f64 (+.f64 y z) 2) t) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (*.f64 (+.f64 y z) 2) t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y (+.f64 z z)) (+.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y z) 2) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 t (*.f64 (+.f64 y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (cbrt.f64 t) (*.f64 (+.f64 y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) 2) (cbrt.f64 (+.f64 y (+.f64 z z))) (+.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) 2)) 2) (cbrt.f64 (*.f64 (+.f64 y z) 2)) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (sqrt.f64 t) (*.f64 (+.f64 y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y (+.f64 z z))) (sqrt.f64 (+.f64 y (+.f64 z z))) (+.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y z) 2)) (sqrt.f64 (*.f64 (+.f64 y z) 2)) t)))))

simplify297.0ms (2.3%)

Algorithm
egg-herbie
Rules
1556×fma-neg_binary64
548×fma-def_binary64
367×cancel-sign-sub-inv_binary64
160×unsub-neg_binary64
148×associate--r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0441638
11181530
22451530
34721530
47341530
512011530
623991530
737151530
840661530
941501530
1041561530
1141561530
1251471530
1351471530
Stop Event
saturated
Counts
339 → 224
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 5 y)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
t
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
t
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
Outputs
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 x (fma.f64 2 z t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 x (+.f64 (*.f64 2 y) t))
(*.f64 (fma.f64 2 y t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x)
(*.f64 x (*.f64 2 (+.f64 z y)))
(*.f64 2 (*.f64 (+.f64 z y) x))
(*.f64 2 (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x))
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(*.f64 5 y)
(*.f64 y 5)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)
(*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)
(*.f64 (fma.f64 2 (+.f64 z y) t) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 x (fma.f64 2 z t))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y))
(fma.f64 x (fma.f64 2 y t) (*.f64 y 5))
(fma.f64 (fma.f64 2 y t) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 y t) x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 2 (*.f64 (+.f64 z y) x)))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 y 5))
(fma.f64 y 5 (*.f64 x (*.f64 2 (+.f64 z y))))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 t x)
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 t x)
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y)))
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (*.f64 y 5))
(fma.f64 y 5 (*.f64 (fma.f64 2 (+.f64 z y) t) x))
(fma.f64 (fma.f64 2 (+.f64 z y) t) x (*.f64 y 5))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) t)
(fma.f64 2 z t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 y) t)
(fma.f64 2 y t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (*.f64 2 y))
(*.f64 2 (+.f64 z y))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
t
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
t
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 y z) 2 t)
0.0b
(fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))
Compiler

Compiled 33 to 16 computations (51.5% saved)

series12.0ms (0.1%)

Counts
2 → 84
Calls

21 calls:

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

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
640×prod-diff_binary64
504×log-prod_binary64
330×pow-prod-down_binary64
303×pow2_binary64
222×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify189.0ms (1.5%)

Algorithm
egg-herbie
Rules
1556×fma-neg_binary64
563×fma-def_binary64
367×cancel-sign-sub-inv_binary64
160×distribute-rgt-in_binary64
159×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042992
1103889
2212889
3468889
4779889
51250889
62450889
73767889
84123889
94204889
104210889
114210889
125201889
135201889
Stop Event
saturated
Counts
144 → 92
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 (+.f64 y z))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (fma.f64 2 (+.f64 y z) t) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (fma.f64 2 (+.f64 y z) t) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 x (fma.f64 2 z t))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (*.f64 5 y))
(fma.f64 (fma.f64 2 y t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 x (fma.f64 y 2 t)))
(fma.f64 x (fma.f64 y 2 t) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y))
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x))
(+.f64 (*.f64 2 z) t)
(fma.f64 2 z t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 y)
(*.f64 y 2)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 y)
(*.f64 y 2)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 y) t)
(fma.f64 2 y t)
(fma.f64 y 2 t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 (+.f64 y z))
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)

eval169.0ms (1.3%)

Compiler

Compiled 5938 to 3204 computations (46% saved)

prune69.0ms (0.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New30115316
Fresh000
Picked101
Done101
Total30315318
Error
0b
Counts
318 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.6b
(*.f64 t x)
24.1b
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
22.3b
(fma.f64 x t (*.f64 y 5))
47.2b
(*.f64 2 (*.f64 z x))
24.5b
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 y 5))
32.8b
(*.f64 (+.f64 (*.f64 2 x) 5) y)
0.0b
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
22.3b
(+.f64 (*.f64 x t) (*.f64 y 5))
17.6b
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
39.5b
(*.f64 y 5)
17.6b
(fma.f64 y 5 (*.f64 x (*.f64 2 (+.f64 z y))))
0.8b
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 3) (*.f64 y 5))
30.4b
(*.f64 (+.f64 (*.f64 2 z) t) x)
32.8b
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 y 5))
Compiler

Compiled 378 to 280 computations (25.9% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (+.f64 y z) 2) t)
0.0b
(*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))
0.1b
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
Compiler

Compiled 46 to 22 computations (52.2% saved)

series15.0ms (0.1%)

Counts
3 → 132
Calls

33 calls:

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

rewrite85.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
632×log-prod_binary64
468×fma-def_binary64
355×pow2_binary64
247×pow1/3_binary64
247×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify214.0ms (1.6%)

Algorithm
egg-herbie
Rules
1556×fma-neg_binary64
537×fma-def_binary64
369×cancel-sign-sub-inv_binary64
160×unsub-neg_binary64
152×associate--r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0471601
11251380
22571380
34591380
47111380
511791380
623801380
737031380
840571380
941351380
1041411380
1141411380
1251321380
1351321380
Stop Event
saturated
Counts
283 → 193
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 5 y)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 (+.f64 y z))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
(+.f64 t (*.f64 2 (+.f64 y z)))
Outputs
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (fma.f64 2 z t) x)
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 5 y)
(*.f64 y 5)
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y))
(fma.f64 x (fma.f64 2 y t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 y 5))
(fma.f64 x (*.f64 2 (+.f64 z y)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (+.f64 (*.f64 t x) (*.f64 5 y)))
(fma.f64 y (+.f64 5 (*.f64 2 x)) (*.f64 (fma.f64 2 z t) x))
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 z y) t)))
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (fma.f64 2 z t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 x (+.f64 (*.f64 2 y) t))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 x (+.f64 z y)))
(*.f64 (*.f64 2 x) (+.f64 z y))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 (+.f64 z y))))
(*.f64 x (fma.f64 2 (+.f64 z y) t))
(+.f64 (*.f64 2 z) t)
(fma.f64 2 z t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 y) t)
(fma.f64 2 y t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(*.f64 2 (+.f64 y z))
(*.f64 2 (+.f64 z y))
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
t
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)
(+.f64 t (*.f64 2 (+.f64 y z)))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 z y) t)

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 (*.f64 2 x) 5) y)
Compiler

Compiled 23 to 17 computations (26.1% saved)

series3.0ms (0%)

Counts
1 → 20
Calls

6 calls:

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

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
837×pow1_binary64
782×add-log-exp_binary64
781×log1p-expm1-u_binary64
781×expm1-log1p-u_binary64
769×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11728
220738
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 2 x) 5) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 5 y) (*.f64 (*.f64 2 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 2 x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 5) (*.f64 y (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 2 x 5) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 125 (*.f64 8 (pow.f64 x 3))) y) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 25 (*.f64 x 10))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 4 (*.f64 x x)) -25) y) (fma.f64 2 x -5))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 125 (*.f64 8 (pow.f64 x 3)))) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 25 (*.f64 x 10))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 (*.f64 4 (*.f64 x x)) -25)) (fma.f64 2 x -5))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 2 x 5) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 2 x 5) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 2 x 5) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 2 x 5)) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 2 x 5) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (fma.f64 2 x 5) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 2 x 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 2 x 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 2 x 5) y)))))))

simplify22.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
012205
127154
243154
346154
Stop Event
saturated
Counts
41 → 27
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 2 (*.f64 y x))
(*.f64 y (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 2 (*.f64 y x))
(*.f64 y (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(fma.f64 2 (*.f64 y x) (*.f64 5 y))
(*.f64 y (fma.f64 2 x 5))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 15 computations (54.5% saved)

series6.0ms (0%)

Counts
2 → 63
Calls

21 calls:

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

rewrite84.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
550×log-prod_binary64
420×fma-def_binary64
399×pow-prod-down_binary64
302×pow2_binary64
209×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify25.0ms (0.2%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
025637
162583
2118538
3165538
4171538
Stop Event
saturated
Counts
161 → 121
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(*.f64 x (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 y z))
t
t
(+.f64 (*.f64 2 z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 y) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
Outputs
(*.f64 2 (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 t x)
(*.f64 x t)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 t x)
(*.f64 x t)
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 x (fma.f64 2 z t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 2 (*.f64 y x))
(*.f64 y (*.f64 x 2))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 2 (*.f64 y x))
(*.f64 y (*.f64 x 2))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 x (+.f64 (*.f64 2 y) t))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 x t))
(*.f64 x (fma.f64 2 z (fma.f64 2 y t)))
(*.f64 x (fma.f64 2 (+.f64 y z) t))
(*.f64 2 (+.f64 y z))
t
t
(+.f64 (*.f64 2 z) t)
(fma.f64 2 z t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 y)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 y) t)
(fma.f64 2 y t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(*.f64 2 z)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t))
(fma.f64 2 z (fma.f64 2 y t))
(fma.f64 2 (+.f64 y z) t)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 38 to 17 computations (55.3% saved)

series14.0ms (0.1%)

Counts
2 → 51
Calls

18 calls:

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

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
595×log-prod_binary64
504×fma-def_binary64
420×pow-prod-down_binary64
319×pow2_binary64
237×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
124321
2334321
Stop Event
node limit
Counts
2 → 96
Calls
Call 1
Inputs
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(*.f64 (+.f64 y z) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y))) (/.f64 (pow.f64 (*.f64 y 5) 2) (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) (sqrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3))) (/.f64 1 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (pow.f64 (*.f64 y 5) 2)) (/.f64 1 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))) (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y)) (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (pow.f64 (*.f64 y 5) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3))) (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3))) (fma.f64 25 (*.f64 y y) (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (*.f64 (*.f64 (+.f64 y z) x) (*.f64 2 (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (pow.f64 (*.f64 y 5) 2)) (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3)))) (neg.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (pow.f64 (*.f64 y 5) 2))) (neg.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y 5) 2) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))) (fma.f64 8 (pow.f64 (*.f64 (+.f64 y z) x) 3) (*.f64 125 (pow.f64 y 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 -5 y)) (-.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2)) (pow.f64 (*.f64 y 5) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (+.f64 y z) x)))) (pow.f64 (exp.f64 y) 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) 2) (+.f64 y z)) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (+.f64 y z) x)))) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (pow.f64 (pow.f64 (exp.f64 x) 2) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) 5) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (+.f64 y z) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 (+.f64 y z) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (*.f64 x 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) x) 2 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) 1 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 5) 1 (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2 (*.f64 (+.f64 y z) x))) (cbrt.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (pow.f64 (*.f64 (+.f64 y z) x) 2))) (cbrt.f64 (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) 5) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y 5)) (pow.f64 (cbrt.f64 (*.f64 y 5)) 2) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y 5)) 2) (cbrt.f64 (*.f64 y 5)) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) x)) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 y z) x)) 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 y z) x))) (sqrt.f64 (*.f64 2 (*.f64 (+.f64 y z) x))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y z) x)) (*.f64 (sqrt.f64 (*.f64 (+.f64 y z) x)) 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (+.f64 y z)) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 x) (+.f64 y z) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (+.f64 y z) x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 y z) x))) (sqrt.f64 (*.f64 (+.f64 y z) x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 (+.f64 y z)) 1) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 (+.f64 y z)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 (+.f64 y z)) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 2 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 (+.f64 y z) 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 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x y))))) (#(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 (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 z y) (*.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 z y) (*.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 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 cbrt.f64 (pow.f64 (*.f64 (+.f64 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 x y))))))

simplify93.0ms (0.7%)

Algorithm
egg-herbie
Rules
786×fma-def_binary64
665×fma-neg_binary64
190×cancel-sign-sub-inv_binary64
122×associate-*l*_binary64
115×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032489
182489
2161471
3297471
4461471
5746471
61485471
72557471
82984471
93095471
103102471
113102471
Stop Event
saturated
Counts
147 → 114
Calls
Call 1
Inputs
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(*.f64 5 y)
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
Outputs
(*.f64 2 (*.f64 z x))
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 (fma.f64 2 x 5) y)
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5)))
(*.f64 (fma.f64 2 x 5) y)
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y))
(*.f64 (fma.f64 2 x 5) y)
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(*.f64 2 (*.f64 z x))
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(*.f64 2 (*.f64 z x))
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))
(fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 z x)))
(fma.f64 2 (*.f64 z x) (*.f64 (fma.f64 2 x 5) y))
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 5 y))
(*.f64 5 y)
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 x (+.f64 z y)))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 x (+.f64 z y)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))

eval130.0ms (1%)

Compiler

Compiled 6948 to 3699 computations (46.8% saved)

prune112.0ms (0.9%)

Pruning

18 alts after pruning (14 fresh and 4 done)

PrunedKeptTotal
New44411455
Fresh7310
Picked011
Done134
Total45218470
Error
0b
Counts
470 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
45.6b
(*.f64 t x)
24.1b
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
24.1b
(fma.f64 x t (*.f64 x (*.f64 2 (+.f64 y z))))
24.5b
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 y 5))
17.6b
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
32.8b
(*.f64 (+.f64 (*.f64 2 x) 5) y)
32.8b
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
22.3b
(fma.f64 y 5 (*.f64 x t))
39.5b
(*.f64 y 5)
39.4b
(*.f64 (+.f64 (*.f64 2 y) t) x)
55.9b
(*.f64 (*.f64 2 y) x)
17.6b
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
22.3b
(fma.f64 x t (*.f64 y 5))
32.8b
(fma.f64 y 5 (*.f64 x (*.f64 2 y)))
30.4b
(*.f64 (+.f64 (*.f64 2 z) t) x)
40.9b
(*.f64 (*.f64 2 (+.f64 y z)) x)
22.3b
(+.f64 (*.f64 x t) (*.f64 y 5))
47.2b
(*.f64 (*.f64 2 z) x)
Compiler

Compiled 362 to 268 computations (26% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 45 to 28 computations (37.8% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

15 calls:

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

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
657×log-prod_binary64
452×fma-def_binary64
342×pow2_binary64
242×fma-neg_binary64
238×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01222
126422
2350522
Stop Event
node limit
Counts
2 → 89
Calls
Call 1
Inputs
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z)))) (/.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)) (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) 2) (cbrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) (sqrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3)) (/.f64 1 (fma.f64 (*.f64 2 (*.f64 x z)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2))) (/.f64 1 (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 2 (*.f64 x z)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2)) (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3)) (fma.f64 (*.f64 2 (*.f64 x z)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3)) (fma.f64 4 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 (*.f64 (fma.f64 2 x 5) y) (*.f64 2 (*.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2))) (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3))) (neg.f64 (fma.f64 (*.f64 2 (*.f64 x z)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2)))) (neg.f64 (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 2 (*.f64 x z)) (-.f64 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2)) (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (fma.f64 2 x 5) y) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 2 x 5) y (*.f64 -2 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (fma.f64 2 x 5) y) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 2 x 5) y))) (pow.f64 (exp.f64 2) (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 2 x 5)) y) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 2 x 5) y))) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x z)))) (pow.f64 (exp.f64 (fma.f64 2 x 5)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 2) (*.f64 x z)) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 2 x 5) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x z)))) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 2 x 5) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 z) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x x) z (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 x 5) y (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (fma.f64 2 x 5) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 x 5) y) 1 (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x x) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 2 (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (*.f64 x z)) 1 (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (fma.f64 2 x 5) y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2 (*.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x z))) 2) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x z))) 2) (cbrt.f64 (*.f64 2 (*.f64 x z))) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (fma.f64 2 x 5) y)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 2 x 5) y)) 2) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 2 x 5) y)) 2) (cbrt.f64 (*.f64 (fma.f64 2 x 5) y)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 2 x 5)) 2) (*.f64 (cbrt.f64 (fma.f64 2 x 5)) y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (fma.f64 2 x 5)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 x z))) (sqrt.f64 (*.f64 2 (*.f64 x z))) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (fma.f64 2 x 5) y)) (sqrt.f64 (*.f64 (fma.f64 2 x 5) y)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 2 x 5)) (*.f64 (sqrt.f64 (fma.f64 2 x 5)) y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (*.f64 (sqrt.f64 (*.f64 x z)) 2) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 2 x 5)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 z) x (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 x z)) 2)) (cbrt.f64 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 x z))) (sqrt.f64 (*.f64 x z)) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) 1) x (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (fma.f64 2 x 5) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 x 5) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 x 5) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (fma.f64 2 x 5)) 2)) (cbrt.f64 (fma.f64 2 x 5)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (fma.f64 2 x 5))) (sqrt.f64 (fma.f64 2 x 5)) (*.f64 2 (*.f64 x z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 x z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 x z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2 (*.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 x z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 8 (pow.f64 (*.f64 x z) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 8 (pow.f64 (*.f64 x z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 x z))) 1))))))

simplify92.0ms (0.7%)

Algorithm
egg-herbie
Rules
967×fma-def_binary64
628×fma-neg_binary64
255×cancel-sign-sub-inv_binary64
91×sub-neg_binary64
81×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029447
168447
2157447
3378447
4601447
5933447
61365447
72117447
82891447
93240447
103255447
113255447
Stop Event
saturated
Counts
125 → 103
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x)
(*.f64 (*.f64 2 (+.f64 z y)) x)
(*.f64 (*.f64 2 x) (+.f64 y z))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x))
(*.f64 (*.f64 2 (+.f64 z y)) x)
(*.f64 (*.f64 2 x) (+.f64 y z))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 5 y) (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -2 z)) x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 2 (*.f64 z x))
(*.f64 z (*.f64 2 x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 y (+.f64 5 (*.f64 2 x)))
(*.f64 y (fma.f64 2 x 5))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 2 (*.f64 z x))
(*.f64 z (*.f64 2 x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(*.f64 2 (*.f64 z x))
(*.f64 z (*.f64 2 x))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))
(fma.f64 (*.f64 2 (+.f64 z y)) x (*.f64 5 y))
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z)))

localize27.0ms (0.2%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 11 computations (52.2% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite76.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
952×pow1_binary64
885×add-log-exp_binary64
884×log1p-expm1-u_binary64
884×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×fma-def_binary64
13×*-commutative_binary64
associate-*l*_binary64
associate-*r*_binary64
distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013432
130342
262342
384342
Stop Event
saturated
Counts
52 → 23
Calls
Call 1
Inputs
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 z x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (*.f64 (+.f64 y z) x))
Outputs
(*.f64 2 (*.f64 z x))
(*.f64 (*.f64 2 z) x)
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 z x))
(*.f64 (*.f64 2 z) x)
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 z x))
(*.f64 (*.f64 2 z) x)
(*.f64 x (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))
(*.f64 2 (*.f64 (+.f64 y z) x))
(*.f64 2 (+.f64 (*.f64 x y) (*.f64 z x)))
(*.f64 (+.f64 z y) (*.f64 x 2))
(*.f64 (+.f64 z y) (*.f64 2 x))

localize58.0ms (0.4%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 11 computations (47.6% saved)

series6.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
882×pow1_binary64
820×add-log-exp_binary64
820×log1p-expm1-u_binary64
820×expm1-log1p-u_binary64
803×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11708
222298
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 x t) (*.f64 y 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x t (*.f64 y 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (+.f64 (*.f64 x t) (*.f64 -5 y))) (/.f64 (*.f64 (*.f64 y y) 25) (+.f64 (*.f64 x t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) (sqrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x t) 3) (*.f64 (pow.f64 y 3) 125)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) 25)) (/.f64 1 (+.f64 (*.f64 x t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x t)))) (+.f64 (pow.f64 (*.f64 x t) 3) (*.f64 (pow.f64 y 3) 125))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 x t) (*.f64 -5 y)) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x t) 3) (*.f64 (pow.f64 y 3) 125)) (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x t) 3) (*.f64 (pow.f64 y 3) 125)) (+.f64 (*.f64 (*.f64 y y) 25) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 x t) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) 25)) (+.f64 (*.f64 x t) (*.f64 -5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x t) 3) (*.f64 (pow.f64 y 3) 125))) (neg.f64 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) 25))) (neg.f64 (+.f64 (*.f64 x t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y y) 25) (pow.f64 (*.f64 x t) 2)) (-.f64 (*.f64 y 5) (*.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x t (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y 5)) 2) (cbrt.f64 (*.f64 y 5)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (cbrt.f64 (*.f64 x t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (sqrt.f64 (*.f64 x t)) (*.f64 y 5))))))

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08252
112252
215252
Stop Event
saturated
Counts
73 → 41
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))

localize143.0ms (1.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 10 computations (41.2% saved)

series6.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite71.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
639×pow1_binary64
587×add-log-exp_binary64
587×log1p-expm1-u_binary64
587×expm1-log1p-u_binary64
574×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11398
215778
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 x t (*.f64 y 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 5) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x t) 1) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x t (*.f64 y 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) (sqrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x t) 3) (pow.f64 (*.f64 y 5) 3)) (+.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (-.f64 (*.f64 25 (*.f64 y y)) (*.f64 (*.f64 x t) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x t (*.f64 y 5))))))))

simplify26.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08252
112252
215252
Stop Event
saturated
Counts
57 → 25
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))

eval86.0ms (0.7%)

Compiler

Compiled 3282 to 2021 computations (38.4% saved)

prune83.0ms (0.6%)

Pruning

18 alts after pruning (10 fresh and 8 done)

PrunedKeptTotal
New2172219
Fresh189
Picked101
Done088
Total21918237
Error
0b
Counts
237 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
45.6b
(*.f64 t x)
24.1b
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
24.1b
(fma.f64 x t (*.f64 x (*.f64 2 (+.f64 y z))))
17.6b
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
24.5b
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
17.6b
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
32.8b
(*.f64 (+.f64 (*.f64 2 x) 5) y)
32.8b
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
22.3b
(fma.f64 y 5 (*.f64 x t))
39.5b
(*.f64 y 5)
39.4b
(*.f64 (+.f64 (*.f64 2 y) t) x)
55.9b
(*.f64 (*.f64 2 y) x)
42.6b
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
32.8b
(fma.f64 y 5 (*.f64 x (*.f64 2 y)))
30.4b
(*.f64 (+.f64 (*.f64 2 z) t) x)
40.9b
(*.f64 (*.f64 2 (+.f64 y z)) x)
22.3b
(+.f64 (*.f64 x t) (*.f64 y 5))
47.2b
(*.f64 (*.f64 2 z) x)
Compiler

Compiled 346 to 247 computations (28.6% saved)

localize16.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y 5 (*.f64 x t))
Compiler

Compiled 17 to 8 computations (52.9% saved)

series5.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite75.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify25.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08252
112252
215252
Stop Event
saturated
Counts
57 → 25
Calls
Call 1
Inputs
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
Outputs
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))

localize14.0ms (0.1%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

localize22.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series9.0ms (0.1%)

Counts
1 → 24
Calls

9 calls:

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

rewrite72.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
882×pow1_binary64
818×add-log-exp_binary64
817×log1p-expm1-u_binary64
817×expm1-log1p-u_binary64
801×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11708
222188
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 2 y) t) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 2 y) x) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t x) (*.f64 (*.f64 2 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 2 y)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 x (*.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 2 y t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 8 (pow.f64 y 3)) (pow.f64 t 3)) x) (+.f64 (*.f64 4 (*.f64 y y)) (*.f64 t (-.f64 t (*.f64 2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 4 (*.f64 y y)) (*.f64 t t)) x) (-.f64 (*.f64 2 y) t))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 8 (pow.f64 y 3)) (pow.f64 t 3))) (+.f64 (*.f64 4 (*.f64 y y)) (*.f64 t (-.f64 t (*.f64 2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (*.f64 4 (*.f64 y y)) (*.f64 t t))) (-.f64 (*.f64 2 y) t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 2 y t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 2 y t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 2 y t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 2 y t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 2 y t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 2 y t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 2 y t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 2 y t) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 2 y t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 2 y t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 2 y t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 2 y t) x)))))))

simplify80.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
09231
116213
231177
341177
Stop Event
saturated
Counts
45 → 26
Calls
Call 1
Inputs
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
Outputs
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(*.f64 x (*.f64 2 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(*.f64 x (*.f64 2 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(*.f64 2 (*.f64 y x))
(*.f64 2 (*.f64 x y))
(*.f64 x (*.f64 2 y))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(*.f64 t x)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 t x))
(fma.f64 2 (*.f64 x y) (*.f64 t x))
(*.f64 x (+.f64 t (*.f64 2 y)))
(*.f64 x (fma.f64 2 y t))

localize27.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 16 computations (44.8% saved)

series5.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite129.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
515×log-prod_binary64
389×exp-prod_binary64
355×prod-exp_binary64
328×fma-def_binary64
317×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011
121311
2272711
Stop Event
node limit
Counts
1 → 74
Calls
Call 1
Inputs
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 25 (*.f64 y y)) (fma.f64 5 y (*.f64 -2 (*.f64 z x)))) (/.f64 (pow.f64 (*.f64 z (*.f64 x 2)) 2) (fma.f64 5 y (*.f64 -2 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 5 y (*.f64 z (*.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) (pow.f64 (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 2) (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) (sqrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3))) (/.f64 1 (fma.f64 (*.f64 z (*.f64 x 2)) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)) (*.f64 25 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 z (*.f64 x 2)) 2)) (/.f64 1 (fma.f64 5 y (*.f64 -2 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (*.f64 x 2)) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)) (*.f64 25 (*.f64 y y))) (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 5 y (*.f64 -2 (*.f64 z x))) (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 z (*.f64 x 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3))) (fma.f64 (*.f64 z (*.f64 x 2)) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)) (*.f64 25 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3))) (fma.f64 (pow.f64 (*.f64 z x) 2) 4 (-.f64 (*.f64 25 (*.f64 y y)) (*.f64 5 (*.f64 y (*.f64 z (*.f64 x 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 z (*.f64 x 2)) 2)) (fma.f64 5 y (*.f64 -2 (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3)))) (neg.f64 (fma.f64 (*.f64 z (*.f64 x 2)) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)) (*.f64 25 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 z (*.f64 x 2)) 2))) (neg.f64 (fma.f64 5 y (*.f64 -2 (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 x 2)) 2) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (*.f64 x 2)) (-.f64 (*.f64 z (*.f64 x 2)) (*.f64 5 y)) (*.f64 25 (*.f64 y y))) (fma.f64 (pow.f64 (*.f64 z x) 3) 8 (*.f64 125 (pow.f64 y 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 5 y (*.f64 -2 (*.f64 z x))) (-.f64 (*.f64 25 (*.f64 y y)) (pow.f64 (*.f64 z (*.f64 x 2)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))) 2)) (cbrt.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))) (sqrt.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 5 y))) (pow.f64 (exp.f64 2) (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 5 y)) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 5 y))) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 x 2)))) (exp.f64 (*.f64 5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 2) (*.f64 z x)) (+.f64 1 (expm1.f64 (*.f64 5 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 x 2)))) (+.f64 1 (expm1.f64 (*.f64 5 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 5 y (*.f64 z (*.f64 x 2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 y) 1 (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 z x) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 x 2) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 z) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 2 (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 x 2)) 1 (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 5 y) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 x 2)) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z x) 2)) (*.f64 (cbrt.f64 (*.f64 z x)) 2) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 x 2))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 x 2))) 2) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 x 2))) 2) (cbrt.f64 (*.f64 z (*.f64 x 2))) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) 5) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 5 y)) (pow.f64 (cbrt.f64 (*.f64 5 y)) 2) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 5 y)) 2) (cbrt.f64 (*.f64 5 y)) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (*.f64 (sqrt.f64 (*.f64 z x)) 2) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (*.f64 x 2))) (sqrt.f64 (*.f64 z (*.f64 x 2))) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 5 y)) (sqrt.f64 (*.f64 5 y)) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 z) x (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 x) z (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (*.f64 z x) 2))) (cbrt.f64 (*.f64 z x)) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 z x))) (sqrt.f64 (*.f64 z x)) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) 1) x (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 5 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 z (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 z (*.f64 x 2)))))))

simplify50.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0951
11451
22151
32351
Stop Event
saturated
Counts
83 → 76
Calls
Call 1
Inputs
(*.f64 2 (*.f64 z x))
(*.f64 5 y)
(*.f64 5 y)
(*.f64 5 y)
(*.f64 2 (*.f64 z x))
(*.f64 2 (*.f64 z x))
(*.f64 5 y)
(*.f64 2 (*.f64 z x))
(*.f64 2 (*.f64 z x))
Outputs
(*.f64 2 (*.f64 z x))
(*.f64 5 y)
(*.f64 5 y)
(*.f64 5 y)
(*.f64 2 (*.f64 z x))
(*.f64 2 (*.f64 z x))
(*.f64 5 y)
(*.f64 2 (*.f64 z x))
(*.f64 2 (*.f64 z x))

localize83.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 25 (*.f64 y y))
0.3b
(*.f64 (*.f64 x t) (*.f64 x t))
1.8b
(-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y)))
25.9b
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
Compiler

Compiled 71 to 26 computations (63.4% saved)

series29.0ms (0.2%)

Counts
4 → 108
Calls

27 calls:

TimeVariablePointExpression
3.0ms
x
@0
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
2.0ms
y
@0
(-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y)))
2.0ms
t
@0
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
2.0ms
y
@0
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
2.0ms
x
@inf
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))

rewrite175.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
883×log-prod_binary64
492×fma-neg_binary64
278×expm1-udef_binary64
278×log1p-udef_binary64
225×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01458
133938
2502838
Stop Event
node limit
Counts
4 → 215
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
(-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y)))
(*.f64 (*.f64 x t) (*.f64 x t))
(*.f64 25 (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 5) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x t (*.f64 y 5)))) (cbrt.f64 (exp.f64 (fma.f64 x t (*.f64 y 5)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5))) (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x t (*.f64 y 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (/.f64 1 (fma.f64 x t (*.f64 y -5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) (*.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (/.f64 1 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) (sqrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (*.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (/.f64 1 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (/.f64 1 (neg.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x t (*.f64 y -5))) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (fma.f64 x t (*.f64 y -5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) 1) (/.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (fma.f64 x t (*.f64 y -5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (cbrt.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (-.f64 (pow.f64 (*.f64 x t) 3) (*.f64 125 (pow.f64 y 3)))) (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (fma.f64 x t (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x t (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x t (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x t (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x t (*.f64 y 5))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (neg.f64 (fma.f64 x t (*.f64 y -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x t (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) t) (pow.f64 (exp.f64 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x t))) (pow.f64 (exp.f64 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) t) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x t))) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 5) y) (pow.f64 (exp.f64 x) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (pow.f64 (exp.f64 x) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 5) y) (+.f64 1 (expm1.f64 (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 3) (pow.f64 (fma.f64 x t (*.f64 y -5)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x t (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x t (*.f64 y 5))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x t (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x t) 2) (/.f64 1 (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (cbrt.f64 (*.f64 x t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (sqrt.f64 (*.f64 x t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5)))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5))))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5)))) (sqrt.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x 1) (/.f64 (*.f64 (*.f64 t t) x) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x t) 1) (/.f64 (*.f64 x t) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 (*.f64 t t) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x t) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x t)) 1) (/.f64 t (fma.f64 x t (*.f64 y -5))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (*.f64 (*.f64 t t) x) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x t) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (*.f64 x t) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (pow.f64 (*.f64 x t) 2) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (*.f64 t t) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x t)) (cbrt.f64 (pow.f64 (fma.f64 x t (*.f64 y -5)) 2))) (/.f64 t (cbrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (*.f64 (*.f64 t t) x) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x t) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (*.f64 x t) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (pow.f64 (*.f64 x t) 2) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (*.f64 t t) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x t)) (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (/.f64 t (sqrt.f64 (fma.f64 x t (*.f64 y -5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (-.f64 (pow.f64 (*.f64 x t) 3) (*.f64 125 (pow.f64 y 3)))) (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y 5) (fma.f64 x t (*.f64 y 5)))) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (*.f64 x t) 2) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (fma.f64 x t (*.f64 y 5)) (neg.f64 (*.f64 25 (/.f64 (*.f64 y y) (fma.f64 x t (*.f64 y -5))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 (*.f64 y y) -25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 x t) 2) (+.f64 (*.f64 (*.f64 y y) -25) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 (*.f64 (*.f64 y y) -25) 1 (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 25 y)))) (cbrt.f64 (*.f64 (pow.f64 y 4) 625)) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 (neg.f64 y) (*.f64 25 y) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (*.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (+.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y y) -25) (pow.f64 (*.f64 x t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))) (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x t (*.f64 y 5)) (fma.f64 x t (*.f64 y -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x t) 6) (pow.f64 (*.f64 y (*.f64 25 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x t) 4) (+.f64 (*.f64 (pow.f64 y 4) 625) (*.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x t) 4) (*.f64 (pow.f64 y 4) 625)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x t) 4) (+.f64 (*.f64 (pow.f64 y 4) 625) (*.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))) (-.f64 (pow.f64 (*.f64 x t) 6) (pow.f64 (*.f64 y (*.f64 25 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (-.f64 (pow.f64 (*.f64 x t) 4) (*.f64 (pow.f64 y 4) 625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x t) 6) (pow.f64 (*.f64 y (*.f64 25 y)) 3)) (+.f64 (pow.f64 (*.f64 x t) 4) (+.f64 (*.f64 (pow.f64 y 4) 625) (*.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x t) 4) (*.f64 (pow.f64 y 4) 625)) (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x t) 6) (pow.f64 (*.f64 y (*.f64 25 y)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x t) 4) (+.f64 (*.f64 (pow.f64 y 4) 625) (*.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x t) 4) (*.f64 (pow.f64 y 4) 625))) (neg.f64 (+.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x t) 6) (pow.f64 (*.f64 (*.f64 y y) -25) 3)) (+.f64 (pow.f64 (*.f64 x t) 4) (-.f64 (*.f64 (*.f64 (*.f64 y y) -25) (*.f64 (*.f64 y y) -25)) (*.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) -25)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 3) (pow.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) 3)) (+.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2) (-.f64 (*.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))) (*.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x t) 4) (*.f64 (*.f64 (*.f64 y y) -25) (*.f64 (*.f64 y y) -25))) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) -25)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2) (*.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))) (-.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2))) (pow.f64 (pow.f64 (exp.f64 y) y) 25)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2))) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2))) (exp.f64 (*.f64 (*.f64 y y) -25))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 y) y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2))) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 y) y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))) (exp.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))) (exp.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y)))) (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 y y) -25)) (exp.f64 (pow.f64 (*.f64 x t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 y) y) 25)) (exp.f64 (pow.f64 (*.f64 x t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 y y) -25)) (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 y) y) 25)) (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 (*.f64 t t) x) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 (*.f64 t t) x) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x (*.f64 t t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x (*.f64 t t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 x (*.f64 x t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 x (*.f64 x t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x t) (*.f64 x t) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x t) (*.f64 x t) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x t) 2) 1 (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x t) 2) 1 (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (*.f64 x t) 2) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (*.f64 t t) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (*.f64 t t) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t t) (*.f64 x x) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t t) (*.f64 x x) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (*.f64 (cbrt.f64 (*.f64 x t)) (*.f64 x t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (*.f64 (cbrt.f64 (*.f64 x t)) (*.f64 x t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x t) 4)) (pow.f64 (cbrt.f64 (*.f64 x t)) 2) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 t t) x)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 t t) x)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y))) 2)) (cbrt.f64 (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 y (*.f64 25 y)))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 (*.f64 t t) x)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 (*.f64 t t) x)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (hypot.f64 (*.f64 x t) (sqrt.f64 (*.f64 (*.f64 y y) -25))) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (*.f64 (sqrt.f64 (*.f64 x t)) (*.f64 x t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (*.f64 (sqrt.f64 (*.f64 x t)) (*.f64 x t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 t t) x) x (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 t t) x) x (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x t)) t (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x t)) t (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x t) (sqrt.f64 (*.f64 x t))) (sqrt.f64 (*.f64 x t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x t) (sqrt.f64 (*.f64 x t))) (sqrt.f64 (*.f64 x t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x t) (pow.f64 (cbrt.f64 (*.f64 x t)) 2)) (cbrt.f64 (*.f64 x t)) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x t) (pow.f64 (cbrt.f64 (*.f64 x t)) 2)) (cbrt.f64 (*.f64 x t)) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x x) t) t (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x x) t) t (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) 1) t (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) 1) t (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) (cbrt.f64 (*.f64 t t))) (cbrt.f64 t) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) (cbrt.f64 (*.f64 t t))) (cbrt.f64 t) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (*.f64 y y) -25))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x t)) (sqrt.f64 t)) (sqrt.f64 t) (neg.f64 (-.f64 (*.f64 y (*.f64 25 y)) (fma.f64 -25 (*.f64 y y) (*.f64 y (*.f64 25 y))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 x t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x t) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x t) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 x t) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x t) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x t) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x t)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x t) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x t) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 x t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 x t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x t) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 x t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 x t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x t))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 25 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y (*.f64 25 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 25 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 5) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 25 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 25 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 y 4) 625))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 y) y) 25))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y (*.f64 25 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (*.f64 25 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 25 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 y 5))) 1))))))

simplify220.0ms (1.7%)

Algorithm
egg-herbie
Rules
2319×associate-*l*_binary64
1908×associate-*r*_binary64
688×sqr-pow_binary64
313×pow-sqr_binary64
263×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0181113
1381113
2721113
31731113
46381113
512151113
613061113
714331113
815891113
917561113
1019591113
1121861113
1224481113
1327441113
1430651113
1534061113
1637771113
1739271113
1840581113
1941161113
Stop Event
node limit
Counts
323 → 227
Calls
Call 1
Inputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(+.f64 (*.f64 t x) (*.f64 5 y))
(*.f64 -25 (pow.f64 y 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 -25 (pow.f64 y 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 -25 (pow.f64 y 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 -25 (pow.f64 y 2))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
(*.f64 25 (pow.f64 y 2))
Outputs
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 t x)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 5 y)
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 5 y))
(fma.f64 t x (*.f64 5 y))
(fma.f64 5 y (*.f64 t x))
(*.f64 -25 (pow.f64 y 2))
(*.f64 -25 (*.f64 y y))
(*.f64 y (*.f64 y -25))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 -25 (pow.f64 y 2))
(*.f64 -25 (*.f64 y y))
(*.f64 y (*.f64 y -25))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 -25 (pow.f64 y 2))
(*.f64 -25 (*.f64 y y))
(*.f64 y (*.f64 y -25))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 -25 (pow.f64 y 2))
(*.f64 -25 (*.f64 y y))
(*.f64 y (*.f64 y -25))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(+.f64 (*.f64 -25 (pow.f64 y 2)) (*.f64 (pow.f64 t 2) (pow.f64 x 2)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t t) (*.f64 x x)))
(fma.f64 -25 (*.f64 y y) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 x (*.f64 t (*.f64 t x))))
(fma.f64 x (*.f64 t (*.f64 t x)) (*.f64 y (*.f64 y -25)))
(fma.f64 y (*.f64 y -25) (*.f64 (*.f64 t x) (*.f64 t x)))
(fma.f64 y (*.f64 y -25) (*.f64 t (*.f64 x (*.f64 t x))))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 (pow.f64 t 2) (pow.f64 x 2))
(*.f64 (*.f64 t t) (*.f64 x x))
(*.f64 (*.f64 t x) (*.f64 t x))
(*.f64 x (*.f64 t (*.f64 t x)))
(*.f64 t (*.f64 x (*.f64 t x)))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))
(*.f64 25 (pow.f64 y 2))
(*.f64 (*.f64 y y) 25)
(*.f64 y (*.f64 y 25))

eval675.0ms (5.2%)

Compiler

Compiled 7804 to 4339 computations (44.4% saved)

prune172.0ms (1.3%)

Pruning

19 alts after pruning (6 fresh and 13 done)

PrunedKeptTotal
New3711372
Fresh055
Picked011
Done01212
Total37119390
Error
0b
Counts
390 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
45.6b
(*.f64 t x)
24.1b
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
24.1b
(fma.f64 x t (*.f64 x (*.f64 2 (+.f64 y z))))
17.6b
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
24.5b
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
42.6b
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
50.9b
(/.f64 (*.f64 y (*.f64 y -25)) (-.f64 (*.f64 x t) (*.f64 y 5)))
17.6b
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
32.8b
(*.f64 (+.f64 (*.f64 2 x) 5) y)
32.8b
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
22.3b
(fma.f64 y 5 (*.f64 x t))
39.5b
(*.f64 y 5)
39.4b
(*.f64 (+.f64 (*.f64 2 y) t) x)
55.9b
(*.f64 (*.f64 2 y) x)
32.8b
(fma.f64 y 5 (*.f64 x (*.f64 2 y)))
30.4b
(*.f64 (+.f64 (*.f64 2 z) t) x)
40.9b
(*.f64 (*.f64 2 (+.f64 y z)) x)
22.3b
(+.f64 (*.f64 x t) (*.f64 y 5))
47.2b
(*.f64 (*.f64 2 z) x)
Compiler

Compiled 236 to 170 computations (28% saved)

regimes221.0ms (1.7%)

Counts
31 → 1
Calls
Call 1
Inputs
(*.f64 y 5)
(*.f64 t x)
(*.f64 y 5)
(*.f64 (*.f64 2 y) x)
(*.f64 (*.f64 2 z) x)
(*.f64 2 (*.f64 z x))
(*.f64 (+.f64 (*.f64 2 y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (*.f64 2 (+.f64 y z)) x)
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(/.f64 (*.f64 y (*.f64 y -25)) (-.f64 (*.f64 x t) (*.f64 y 5)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
(fma.f64 y 5 (*.f64 x t))
(fma.f64 x t (*.f64 y 5))
(fma.f64 y 5 (*.f64 x (*.f64 2 y)))
(fma.f64 x t (*.f64 x (*.f64 2 (+.f64 y z))))
(fma.f64 y 5 (*.f64 x (*.f64 2 (+.f64 z y))))
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
(fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t))) 3) (*.f64 y 5))
Outputs
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
Calls

5 calls:

56.0ms
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
53.0ms
z
33.0ms
y
30.0ms
x
28.0ms
t
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
Compiler

Compiled 321 to 185 computations (42.4% saved)

regimes185.0ms (1.4%)

Counts
28 → 1
Calls
Call 1
Inputs
(*.f64 y 5)
(*.f64 t x)
(*.f64 y 5)
(*.f64 (*.f64 2 y) x)
(*.f64 (*.f64 2 z) x)
(*.f64 2 (*.f64 z x))
(*.f64 (+.f64 (*.f64 2 y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (*.f64 2 (+.f64 y z)) x)
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(/.f64 (*.f64 y (*.f64 y -25)) (-.f64 (*.f64 x t) (*.f64 y 5)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(/.f64 (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 25 (*.f64 y y))) (-.f64 (*.f64 x t) (*.f64 y 5)))
(fma.f64 y 5 (*.f64 x t))
(fma.f64 x t (*.f64 y 5))
(fma.f64 y 5 (*.f64 x (*.f64 2 y)))
(fma.f64 x t (*.f64 x (*.f64 2 (+.f64 y z))))
(fma.f64 y 5 (*.f64 x (*.f64 2 (+.f64 z y))))
Outputs
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
Calls

5 calls:

50.0ms
y
35.0ms
x
29.0ms
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
28.0ms
t
27.0ms
z
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
0.1b1(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
Compiler

Compiled 282 to 164 computations (41.8% saved)

regimes150.0ms (1.1%)

Counts
21 → 1
Calls
Call 1
Inputs
(*.f64 y 5)
(*.f64 t x)
(*.f64 y 5)
(*.f64 (*.f64 2 y) x)
(*.f64 (*.f64 2 z) x)
(*.f64 2 (*.f64 z x))
(*.f64 (+.f64 (*.f64 2 y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (*.f64 2 (+.f64 y z)) x)
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 y 5))
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y))
(/.f64 (*.f64 y (*.f64 y -25)) (-.f64 (*.f64 x t) (*.f64 y 5)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
Outputs
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
Calls

4 calls:

48.0ms
y
47.0ms
t
22.0ms
x
21.0ms
z
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
Compiler

Compiled 187 to 116 computations (38% saved)

regimes424.0ms (3.3%)

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

4 calls:

152.0ms
z
106.0ms
t
78.0ms
y
76.0ms
x
Results
ErrorSegmentsBranch
8.5b4x
7.7b3y
8.8b5z
6.4b3t
Compiler

Compiled 172 to 106 computations (38.4% saved)

bsearch125.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
51.0ms
9.265100117215702e-61
3.5132742610303996e-56
73.0ms
-1.433755867923289e+76
-2.918707809676036e+75
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes305.0ms (2.3%)

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

4 calls:

128.0ms
t
82.0ms
y
52.0ms
z
34.0ms
x
Results
ErrorSegmentsBranch
8.5b4x
10.4b3y
10.4b5z
10.9b5t
Compiler

Compiled 135 to 85 computations (37% saved)

bsearch79.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
7.977862782028542e-19
9.756429396073161e-12
26.0ms
4.478600973061447e-197
1.0306966783654506e-194
27.0ms
-3.378035299059156e-72
-1.9208410707205367e-73
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes240.0ms (1.8%)

Counts
14 → 8
Calls
Call 1
Inputs
(*.f64 y 5)
(*.f64 t x)
(*.f64 y 5)
(*.f64 (*.f64 2 y) x)
(*.f64 (*.f64 2 z) x)
(*.f64 2 (*.f64 z x))
(*.f64 (+.f64 (*.f64 2 y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (*.f64 2 (+.f64 y z)) x)
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
Outputs
(+.f64 (*.f64 x t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y))
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (+.f64 (*.f64 2 y) t) x)
(+.f64 (*.f64 x t) (*.f64 y 5))
Calls

4 calls:

89.0ms
y
58.0ms
t
47.0ms
x
43.0ms
z
Results
ErrorSegmentsBranch
12.6b5x
12.1b5y
10.4b5z
9.7b8t
Compiler

Compiled 108 to 70 computations (35.2% saved)

bsearch298.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
45.0ms
4.805112264034117e+72
1.0576295132954085e+73
46.0ms
2.4191626766661195e+48
5.884176996686081e+56
50.0ms
9.410362952962034e+35
5.627807496705009e+36
52.0ms
9.265100117215702e-61
3.5132742610303996e-56
25.0ms
-7.714399150639959e-121
-1.716615695159773e-121
54.0ms
-3.452289457691771e-41
-7.037841335719209e-43
26.0ms
-1.433755867923289e+76
-2.918707809676036e+75
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes379.0ms (2.9%)

Counts
13 → 8
Calls
Call 1
Inputs
(*.f64 y 5)
(*.f64 t x)
(*.f64 y 5)
(*.f64 (*.f64 2 y) x)
(*.f64 (*.f64 2 z) x)
(*.f64 2 (*.f64 z x))
(*.f64 (+.f64 (*.f64 2 y) t) x)
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (*.f64 2 (+.f64 y z)) x)
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
Outputs
(+.f64 (*.f64 x t) (*.f64 y 5))
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(*.f64 (+.f64 (*.f64 2 x) 5) y)
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))
(+.f64 (*.f64 x t) (*.f64 y 5))
(*.f64 (+.f64 (*.f64 2 z) t) x)
(*.f64 (+.f64 (*.f64 2 y) t) x)
(+.f64 (*.f64 x t) (*.f64 y 5))
Calls

4 calls:

117.0ms
t
86.0ms
y
85.0ms
z
84.0ms
x
Results
ErrorSegmentsBranch
12.6b5x
12.1b5y
10.4b5z
9.7b8t
Compiler

Compiled 99 to 64 computations (35.4% saved)

bsearch346.0ms (2.7%)

Algorithm
binary-search
Steps
TimeLeftRight
54.0ms
4.805112264034117e+72
1.0576295132954085e+73
53.0ms
2.4191626766661195e+48
5.884176996686081e+56
53.0ms
9.410362952962034e+35
5.627807496705009e+36
48.0ms
9.265100117215702e-61
3.5132742610303996e-56
43.0ms
-7.714399150639959e-121
-1.716615695159773e-121
48.0ms
-3.452289457691771e-41
-7.037841335719209e-43
46.0ms
-1.433755867923289e+76
-2.918707809676036e+75
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes320.0ms (2.5%)

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

4 calls:

85.0ms
y
84.0ms
z
74.0ms
t
69.0ms
x
Results
ErrorSegmentsBranch
14.5b4x
12.1b5y
15.1b5z
14.5b5t
Compiler

Compiled 90 to 59 computations (34.4% saved)

bsearch200.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
3.307153294452222e+24
2.751515217172637e+29
50.0ms
-4.706163679713545e-128
-1.455903870206463e-141
49.0ms
-1.4636969468169236e-17
-2.2161703705851064e-19
48.0ms
-4.245648964463158e+85
-2.979920953143406e+85
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes313.0ms (2.4%)

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

4 calls:

110.0ms
z
89.0ms
t
71.0ms
x
37.0ms
y
Results
ErrorSegmentsBranch
18.6b6x
13.2b3y
18.5b9z
19.8b7t
Compiler

Compiled 76 to 51 computations (32.9% saved)

bsearch94.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
47.0ms
3.307153294452222e+24
2.751515217172637e+29
47.0ms
-1.1946151379230837e+53
-3.4724380649214316e+44
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes257.0ms (2%)

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

4 calls:

78.0ms
t
71.0ms
z
66.0ms
x
35.0ms
y
Results
ErrorSegmentsBranch
18.6b6x
17.3b3y
22.4b6z
22.9b7t
Compiler

Compiled 69 to 46 computations (33.3% saved)

bsearch95.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
5.116528806224703e+57
3.4352023136502956e+77
48.0ms
-1.1946151379230837e+53
-3.4724380649214316e+44
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes286.0ms (2.2%)

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

4 calls:

88.0ms
t
68.0ms
y
68.0ms
z
57.0ms
x
Results
ErrorSegmentsBranch
24.1b6x
25.1b6y
26.1b6z
28.1b8t
Compiler

Compiled 55 to 38 computations (30.9% saved)

bsearch330.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
200.0ms
5334228707404.891
7118497984831348000.0
23.0ms
7.977862782028542e-19
9.756429396073161e-12
22.0ms
4.680895701701483e-24
1.4788090373020992e-23
39.0ms
5.186029536434914e-113
1.3655532338835483e-104
46.0ms
-3.378035299059156e-72
-1.9208410707205367e-73
Compiler

Compiled 224 to 171 computations (23.7% saved)

regimes118.0ms (0.9%)

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

4 calls:

34.0ms
t
30.0ms
z
30.0ms
y
21.0ms
x
Results
ErrorSegmentsBranch
30.4b4x
26.4b6y
29.9b6z
28.7b8t
Compiler

Compiled 48 to 34 computations (29.2% saved)

bsearch118.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
2.7481363253719933e-45
6.925389229484266e-41
24.0ms
-1.2256823179304415e-288
-3.5683937570654426e-296
23.0ms
-3.507721912982044e-211
-2.962547449486485e-211
25.0ms
-8.287426312195098e-116
-5.836653930114375e-119
23.0ms
-1.1946151379230837e+53
-3.4724380649214316e+44
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes73.0ms (0.6%)

Accuracy

Total -32.9b remaining (-110.9%)

Threshold costs -32.9b (-110.9%)

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

4 calls:

24.0ms
z
19.0ms
t
15.0ms
y
14.0ms
x
Results
ErrorSegmentsBranch
31.4b3x
29.7b3y
33.3b7z
32.6b5t
Compiler

Compiled 38 to 28 computations (26.3% saved)

bsearch46.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
2.7481363253719933e-45
6.925389229484266e-41
23.0ms
-1.514595472517589e-12
-1.4636969468169236e-17
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
14×+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0127744
1162744
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) (+.f64 (*.f64 x t) (*.f64 y 5))))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x 7538575925475199/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (+.f64 (*.f64 x t) (*.f64 y 5)) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y)) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 x t) (*.f64 y 5)))))))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 x t) (*.f64 y 5)))))))))
(if (<=.f64 y -42456489644631583136780437170056619089758026258009065666191882989013655253718984032256) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 y -18554563131847/1267650600228229401496703205376) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 y -4591081138967355/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (*.f64 (*.f64 2 (+.f64 y z)) x) (if (<=.f64 y 3307153294452221877944320) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y)))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 y 3307153294452221877944320) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y)))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y 5116528806224703255510529914390037566946416011361315192832) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 y 5)))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 (+.f64 (*.f64 2 y) t) x) (if (<=.f64 x 8986966830305315/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 y 5) (if (<=.f64 x 6371305074740111/1361129467683753853853498429727072845824) (*.f64 (+.f64 (*.f64 2 y) t) x) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (*.f64 y 5) (if (<=.f64 x 5500000000000) (*.f64 (*.f64 2 z) x) (*.f64 (+.f64 (*.f64 2 y) t) x))))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y -919131831123311/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 (*.f64 2 z) x) (if (<=.f64 y -8309633991492121/23689546086131422960647270026588478931532074235789438036179382904450240366918592625898413220651954314430049601701829119967217713075482397330387684250506304003974227539380644310764545984368872754291732775783027172102246808682496) (*.f64 t x) (if (<=.f64 y -6724245265093033/5486124068793688683255936251187209270074392635932332070112001988456197381759672947165175699536362793613284725337872111744958183862744647903224103718245670299614498700710006264535590197791934024641512541262359795191593953928908168990292758500391456212260452596575509589842140073806143686060649302051520512) (*.f64 (*.f64 2 z) x) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 t x) (*.f64 y 5))))))
(if (<=.f64 y -7499913514999533/4951760157141521099596496896) (*.f64 y 5) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 t x) (*.f64 y 5)))
(*.f64 y 5)
Outputs
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))
(fma.f64 y 5 (*.f64 x (+.f64 t (*.f64 (+.f64 y z) 2))))
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5))
(+.f64 (*.f64 x (+.f64 t (+.f64 y (+.f64 z (+.f64 y z))))) (*.f64 y 5))
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y))
(+.f64 (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y (+.f64 5 (*.f64 x 2))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) (+.f64 (*.f64 x t) (*.f64 y 5))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z)))) (+.f64 (*.f64 y 5) (*.f64 x t))))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x 7538575925475199/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (+.f64 (*.f64 x t) (*.f64 y 5)) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 x (+.f64 t (*.f64 (+.f64 y z) 2))) (if (<=.f64 x 7538575925475199/168324348849547952231711676252164117297610873690341563503944988898199428937506586307637329160882830439263455003397702966816621832005881723620090072660860187198567157476110227142133240252298326952681384055545004032) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (+.f64 (*.f64 y 5) (*.f64 x t)) (*.f64 x (+.f64 t (*.f64 (+.f64 y z) 2))))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 (*.f64 2 x) y) (*.f64 5 y)) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 x t) (*.f64 y 5)))))))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 y 5) (*.f64 y (*.f64 x 2))) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 x (+.f64 t (*.f64 z 2))) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 x (+.f64 t (*.f64 y 2))) (+.f64 (*.f64 y 5) (*.f64 x t)))))))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 (+.f64 (*.f64 2 y) t) x) (+.f64 (*.f64 x t) (*.f64 y 5)))))))))
(if (<=.f64 t -14337558679232890503265141895429975243046778712529917844028297662728255832064) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 t -6771991295604425/196159429230833773869868419475239575503198607639501078528) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 t -4485699229886609/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 t 6705158122283183/7237005577332262213973186563042994240829374041602535252466099000494570602496) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 t 941036295296203396714599600902635520) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 t 2419162676666119547710823821805747784278563880960) (*.f64 x (+.f64 t (*.f64 z 2))) (if (<=.f64 t 4805112264034117105782782692285357432312970888011108257281430351431860224) (*.f64 x (+.f64 t (*.f64 y 2))) (+.f64 (*.f64 y 5) (*.f64 x t)))))))))
(if (<=.f64 y -42456489644631583136780437170056619089758026258009065666191882989013655253718984032256) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 y -18554563131847/1267650600228229401496703205376) (+.f64 (*.f64 x t) (*.f64 y 5)) (if (<=.f64 y -4591081138967355/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (*.f64 (*.f64 2 (+.f64 y z)) x) (if (<=.f64 y 3307153294452221877944320) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y)))))
(if (<=.f64 y -42456489644631583136780437170056619089758026258009065666191882989013655253718984032256) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 y -18554563131847/1267650600228229401496703205376) (+.f64 (*.f64 y 5) (*.f64 x t)) (if (<=.f64 y -4591081138967355/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568) (*.f64 x (*.f64 (+.f64 y z) 2)) (if (<=.f64 y 3307153294452221877944320) (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y (+.f64 5 (*.f64 x 2)))))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 (+.f64 (*.f64 2 x) 5) y) (if (<=.f64 y 3307153294452221877944320) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 (+.f64 (*.f64 2 x) 5) y)))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 y 3307153294452221877944320) (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y (+.f64 5 (*.f64 x 2)))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y 5116528806224703255510529914390037566946416011361315192832) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 y 5)))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y 5116528806224703255510529914390037566946416011361315192832) (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y 5)))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 (+.f64 (*.f64 2 y) t) x) (if (<=.f64 x 8986966830305315/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 y 5) (if (<=.f64 x 6371305074740111/1361129467683753853853498429727072845824) (*.f64 (+.f64 (*.f64 2 y) t) x) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (*.f64 y 5) (if (<=.f64 x 5500000000000) (*.f64 (*.f64 2 z) x) (*.f64 (+.f64 (*.f64 2 y) t) x))))))
(if (<=.f64 x -1679975447634601/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 x (+.f64 t (*.f64 y 2))) (if (<=.f64 x 8986966830305315/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 y 5) (if (<=.f64 x 6371305074740111/1361129467683753853853498429727072845824) (*.f64 x (+.f64 t (*.f64 y 2))) (if (<=.f64 x 517792898261859/649037107316853453566312041152512) (*.f64 y 5) (if (<=.f64 x 5500000000000) (*.f64 x (*.f64 z 2)) (*.f64 x (+.f64 t (*.f64 y 2))))))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y -919131831123311/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 (*.f64 2 z) x) (if (<=.f64 y -8309633991492121/23689546086131422960647270026588478931532074235789438036179382904450240366918592625898413220651954314430049601701829119967217713075482397330387684250506304003974227539380644310764545984368872754291732775783027172102246808682496) (*.f64 t x) (if (<=.f64 y -6724245265093033/5486124068793688683255936251187209270074392635932332070112001988456197381759672947165175699536362793613284725337872111744958183862744647903224103718245670299614498700710006264535590197791934024641512541262359795191593953928908168990292758500391456212260452596575509589842140073806143686060649302051520512) (*.f64 (*.f64 2 z) x) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 t x) (*.f64 y 5))))))
(if (<=.f64 y -119461513792308371814419950179261344865167542694445056) (*.f64 y 5) (if (<=.f64 y -919131831123311/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 x (*.f64 z 2)) (if (<=.f64 y -8309633991492121/23689546086131422960647270026588478931532074235789438036179382904450240366918592625898413220651954314430049601701829119967217713075482397330387684250506304003974227539380644310764545984368872754291732775783027172102246808682496) (*.f64 x t) (if (<=.f64 y -6724245265093033/5486124068793688683255936251187209270074392635932332070112001988456197381759672947165175699536362793613284725337872111744958183862744647903224103718245670299614498700710006264535590197791934024641512541262359795191593953928908168990292758500391456212260452596575509589842140073806143686060649302051520512) (*.f64 x (*.f64 z 2)) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 x t) (*.f64 y 5))))))
(if (<=.f64 y -7499913514999533/4951760157141521099596496896) (*.f64 y 5) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 t x) (*.f64 y 5)))
(if (<=.f64 y -7499913514999533/4951760157141521099596496896) (*.f64 y 5) (if (<=.f64 y 4416084812050359/1606938044258990275541962092341162602522202993782792835301376) (*.f64 x t) (*.f64 y 5)))
(*.f64 y 5)
Compiler

Compiled 570 to 381 computations (33.2% saved)

soundness0.0ms (0%)

end205.0ms (1.6%)

Compiler

Compiled 518 to 317 computations (38.8% saved)

Profiling

Loading profile data...