Time bar (total: 13.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 99.8% | 0.2% | 7 |
| 0% | 99.8% | 0.2% | 8 |
| 6.2% | 93.6% | 0.2% | 9 |
| 9.4% | 90.4% | 0.2% | 10 |
| 12.5% | 85.6% | 1.9% | 11 |
| 17.2% | 78% | 4.9% | 12 |
Compiled 20 to 13 computations (35% saved)
| 2.8s | 8039× | body | 256 | valid |
| 941.0ms | 2396× | body | 256 | invalid |
| 199.0ms | 117× | body | 1024 | valid |
| 31.0ms | 100× | body | 512 | valid |
| 2× | egg-herbie |
| 3374× | fma-def_binary64 |
| 1265× | associate-+l+_binary64 |
| 649× | associate-+r+_binary64 |
| 522× | +-commutative_binary64 |
| 392× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 140 |
| 1 | 170 | 119 |
| 2 | 552 | 105 |
| 3 | 1885 | 105 |
| 4 | 3143 | 105 |
| 5 | 3201 | 105 |
| 6 | 3201 | 105 |
| 7 | 3911 | 105 |
| 8 | 3911 | 105 |
| 9 | 3911 | 105 |
| 10 | 4794 | 105 |
| 11 | 4834 | 105 |
| 12 | 4858 | 105 |
| 13 | 4858 | 105 |
| 14 | 5067 | 105 |
| 15 | 5067 | 105 |
| 16 | 6493 | 105 |
| 17 | 6493 | 105 |
| 18 | 7081 | 105 |
| 19 | 7405 | 105 |
| 0 | 4 | 4 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
| 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)) |
Compiled 23 to 16 computations (30.4% saved)
| 1× | egg-herbie |
| 594× | fma-def_binary64 |
| 247× | associate-+l+_binary64 |
| 179× | associate-+r+_binary64 |
| 79× | distribute-rgt-in_binary64 |
| 73× | distribute-lft-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 20 |
| 1 | 33 | 17 |
| 2 | 96 | 15 |
| 3 | 334 | 15 |
| 4 | 854 | 15 |
| 5 | 1329 | 15 |
| 6 | 1501 | 15 |
| 7 | 1515 | 15 |
| 1× | saturated |
| 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)) |
Compiled 30 to 17 computations (43.3% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.1b | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
Compiled 19 to 12 computations (36.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 y z) z) |
| ✓ | 0.0b | (+.f64 (+.f64 (+.f64 y z) z) y) |
| ✓ | 0.0b | (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) |
| ✓ | 0.0b | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
Compiled 62 to 15 computations (75.8% saved)
36 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | inf | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
| 2.0ms | z | @ | 0 | (+.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)) |
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
| 1× | batch-egg-rewrite |
| 580× | fma-neg_binary64 |
| 301× | expm1-udef_binary64 |
| 301× | log1p-udef_binary64 |
| 235× | log-pow_binary64 |
| 211× | hypot-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 53 |
| 1 | 319 | 44 |
| 2 | 5266 | 44 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
(*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) |
(+.f64 (+.f64 (+.f64 y z) z) y) |
(+.f64 (+.f64 y z) z) |
| Outputs |
|---|
((#(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 (*.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 (*.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 y (+.f64 z z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 y z) 2) (+.f64 y (-.f64 z z))) (/.f64 (*.f64 z z) (+.f64 y (-.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (+.f64 z z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) 2) (cbrt.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 y (+.f64 z z))) (sqrt.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 z 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z (-.f64 z (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z z)) (/.f64 1 (+.f64 y (-.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z (-.f64 z (+.f64 y z)))) (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 y (-.f64 z z)) (-.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z (-.f64 z (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 z 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z z)) (+.f64 y (-.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 y z) 3) (pow.f64 z 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z (-.f64 z (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y z) 2) (*.f64 z z))) (neg.f64 (+.f64 y (-.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (+.f64 z z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (+.f64 z z) (+.f64 z z)) (*.f64 y (+.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (*.f64 (+.f64 z z) (+.f64 z z))) (-.f64 y (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (+.f64 y z) 2)) (-.f64 z (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (+.f64 z z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 y (+.f64 z z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 y (+.f64 z z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 y (+.f64 z z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 y (+.f64 z z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 y) (*.f64 (exp.f64 z) (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (*.f64 (exp.f64 z) (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 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))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y z)) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y z))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 z z)) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 z) (exp.f64 z)) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 z z)) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 z) (exp.f64 z)) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 y (+.f64 z z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 y (+.f64 z z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y z) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y z)) 2) (cbrt.f64 (+.f64 y z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 y) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (+.f64 y z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (+.f64 y z)))))) |
| 1× | egg-herbie |
| 1586× | fma-neg_binary64 |
| 550× | fma-def_binary64 |
| 366× | cancel-sign-sub-inv_binary64 |
| 164× | unsub-neg_binary64 |
| 155× | associate--r+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 45 | 1465 |
| 1 | 121 | 1384 |
| 2 | 249 | 1384 |
| 3 | 473 | 1384 |
| 4 | 734 | 1384 |
| 5 | 1201 | 1384 |
| 6 | 2406 | 1384 |
| 7 | 3717 | 1384 |
| 8 | 4087 | 1384 |
| 9 | 4181 | 1384 |
| 10 | 4191 | 1384 |
| 11 | 4191 | 1384 |
| 12 | 5212 | 1384 |
| 13 | 5212 | 1384 |
| 1× | saturated |
| Inputs |
|---|
(*.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 (+.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 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 2 z) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
y |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
y |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
y |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
(+.f64 (*.f64 2 z) y) |
| Outputs |
|---|
(*.f64 5 y) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) 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 y z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) 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 y z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(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 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.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 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.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 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(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 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(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 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 y t) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 (fma.f64 y 2 t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.f64 2 (*.f64 z x)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.f64 2 (*.f64 z x)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.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 2 (*.f64 (+.f64 y z) x))) |
(fma.f64 5 y (*.f64 2 (*.f64 x (+.f64 y z)))) |
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) (*.f64 5 y))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z (fma.f64 2 y t)) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (fma.f64 2 y t) x) |
(*.f64 (fma.f64 y 2 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 2 (*.f64 z x)) |
(*.f64 z (*.f64 2 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 2 (*.f64 z x)) |
(*.f64 z (*.f64 2 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) (*.f64 2 y)) x) |
(*.f64 x (*.f64 2 (+.f64 z y))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 x (+.f64 y z))) |
(*.f64 (*.f64 2 x) (+.f64 y z)) |
(+.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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) 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 y z) t) x) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 y) |
(*.f64 y 2) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 y) |
(*.f64 y 2) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 y) |
(*.f64 y 2) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(+.f64 (*.f64 2 z) (*.f64 2 y)) |
(*.f64 2 (+.f64 z y)) |
(*.f64 2 (+.f64 y z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
y |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
y |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
y |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(*.f64 2 z) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
(+.f64 (*.f64 2 z) y) |
(fma.f64 2 z y) |
Compiled 4566 to 2341 computations (48.7% saved)
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 208 | 13 | 221 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 209 | 13 | 222 |
| Status | Error | Program |
|---|---|---|
| 14.3b | (fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z))) | |
| 26.3b | (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) | |
| 47.5b | (*.f64 z (*.f64 2 x)) | |
| 0.1b | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) | |
| ▶ | 37.3b | (*.f64 5 y) |
| ▶ | 8.0b | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 14.3b | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) | |
| ▶ | 30.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| ▶ | 0.1b | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 32.3b | (/.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)))) | |
| 33.6b | (*.f64 (+.f64 (*.f64 2 z) t) x) | |
| 48.6b | (*.f64 t x) | |
| ▶ | 0.1b | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
Compiled 388 to 280 computations (27.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 x (*.f64 (+.f64 y z) 2)) |
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
Compiled 57 to 26 computations (54.4% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | z | @ | inf | (*.f64 x (*.f64 (+.f64 y z) 2)) |
| 2.0ms | y | @ | inf | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
| 1.0ms | x | @ | 0 | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
| 1.0ms | x | @ | inf | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
| 1.0ms | y | @ | 0 | (+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
| 1× | batch-egg-rewrite |
| 808× | log-prod_binary64 |
| 484× | fma-neg_binary64 |
| 290× | expm1-udef_binary64 |
| 290× | log1p-udef_binary64 |
| 231× | log-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 29 |
| 1 | 316 | 25 |
| 2 | 4585 | 25 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
(*.f64 x (*.f64 (+.f64 y z) 2)) |
| Outputs |
|---|
((#(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 (/.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (neg.f64 (*.f64 y 5)))) (/.f64 (pow.f64 (*.f64 y 5) 2) (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (neg.f64 (*.f64 y 5)))))))) (#(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) (*.f64 125 (pow.f64 y 3))) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 (*.f64 y 5) (-.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 x (fma.f64 (+.f64 y z) 2 t)) 2) (pow.f64 (*.f64 y 5) 2)) (/.f64 1 (fma.f64 x (fma.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 (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t))))) (+.f64 (pow.f64 (*.f64 x (fma.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 (fma.f64 (+.f64 y z) 2 t) (neg.f64 (*.f64 y 5))) (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (pow.f64 (*.f64 y 5) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3) (*.f64 125 (pow.f64 y 3))) (+.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 (*.f64 y 5) (-.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 x (fma.f64 (+.f64 y z) 2 t)) 3) (*.f64 125 (pow.f64 y 3))) (+.f64 (pow.f64 (*.f64 y 5) 2) (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 x (*.f64 (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)) (fma.f64 x (fma.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 (fma.f64 (+.f64 y z) 2 t)) 3) (*.f64 125 (pow.f64 y 3)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (pow.f64 (*.f64 y 5) 2))) (neg.f64 (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (neg.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y z)) 3) 8) (pow.f64 (fma.f64 x t (*.f64 y 5)) 3)) (+.f64 (pow.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 2) (-.f64 (*.f64 (fma.f64 x t (*.f64 y 5)) (fma.f64 x t (*.f64 y 5))) (*.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (fma.f64 x t (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 2) (*.f64 (fma.f64 x t (*.f64 y 5)) (fma.f64 x t (*.f64 y 5)))) (fma.f64 x (*.f64 (+.f64 y z) 2) (neg.f64 (fma.f64 x t (*.f64 y 5)))))))) (#(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)) 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 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2)))) (exp.f64 (fma.f64 x t (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2)) (*.f64 (pow.f64 (exp.f64 t) x) (pow.f64 (exp.f64 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2)))) (*.f64 (pow.f64 (exp.f64 t) x) (pow.f64 (exp.f64 5) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)))) (pow.f64 (exp.f64 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (fma.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 (fma.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) (fma.f64 (+.f64 y z) 2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 5) y) (+.f64 1 (expm1.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))) (+.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 (fma.f64 x t (*.f64 y 5))) (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) x) (pow.f64 (exp.f64 5) y)) (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x t (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) x) (pow.f64 (exp.f64 5) y)) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2))))))))) (#(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 fma.f64 x (*.f64 (+.f64 y z) 2) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) 2) x (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 (+.f64 y z) 2)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) 2) (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (*.f64 y 5))))) (#(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))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 y 5) 2)) (cbrt.f64 (*.f64 y 5)) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (sqrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (*.f64 y 5))))) (#(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))) (fma.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 (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 y z)) 2 (fma.f64 x t (*.f64 y 5))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 y z)) (*.f64 x (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2))) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 (+.f64 y z) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 (+.f64 y z) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 (+.f64 y z) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y z)) 3) 8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 (+.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y z)) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 (+.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 (+.f64 y z) 2))) 1)))))) |
| 1× | egg-herbie |
| 1355× | fma-neg_binary64 |
| 674× | fma-def_binary64 |
| 203× | cancel-sign-sub-inv_binary64 |
| 166× | associate--r+_binary64 |
| 164× | distribute-rgt-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 1062 |
| 1 | 157 | 982 |
| 2 | 373 | 980 |
| 3 | 828 | 980 |
| 4 | 1615 | 980 |
| 5 | 3021 | 980 |
| 6 | 3817 | 980 |
| 7 | 3889 | 980 |
| 8 | 3899 | 980 |
| 9 | 3899 | 980 |
| 10 | 4864 | 980 |
| 11 | 4864 | 980 |
| 1× | saturated |
| 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 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) x)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t 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 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (*.f64 5 y))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 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 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)) |
(*.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))) |
| 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 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) 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 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) 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 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 (+.f64 y z))) 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 t x) (*.f64 2 (*.f64 z x))) |
(fma.f64 t x (*.f64 2 (*.f64 z x))) |
(*.f64 x (+.f64 t (*.f64 2 z))) |
(*.f64 x (fma.f64 2 z t)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 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 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 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 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 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 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.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 t x) (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.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 t x) (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.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 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.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 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.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 t x) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.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 y x)) (+.f64 (*.f64 t x) (*.f64 5 y))) |
(fma.f64 2 (*.f64 y x) (fma.f64 t x (*.f64 5 y))) |
(fma.f64 t x (*.f64 y (fma.f64 2 x 5))) |
(fma.f64 y (fma.f64 2 x 5) (*.f64 t x)) |
(fma.f64 5 y (*.f64 x (fma.f64 y 2 t))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 2 (*.f64 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 2 (*.f64 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 y x)) (+.f64 (*.f64 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 (*.f64 2 (+.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 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)) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 x (*.f64 y 2)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 x (*.f64 y 2)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 x (*.f64 y 2)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) 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 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) 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 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
Compiled 9 to 7 computations (22.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) |
Compiled 23 to 17 computations (26.1% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 18.0ms | x | @ | 0 | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| 1.0ms | y | @ | 0 | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| 1.0ms | x | @ | inf | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| 1.0ms | y | @ | inf | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| 1.0ms | y | @ | -inf | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| 1× | batch-egg-rewrite |
| 906× | pow1_binary64 |
| 850× | add-log-exp_binary64 |
| 849× | log1p-expm1-u_binary64 |
| 849× | expm1-log1p-u_binary64 |
| 835× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 177 | 8 |
| 2 | 2283 | 8 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 5 (*.f64 2 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 5) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 x y)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y 5) 1) (*.f64 (*.f64 2 (*.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (fma.f64 2 x 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y 5) 3) (pow.f64 (*.f64 2 (*.f64 x y)) 3)) (+.f64 (*.f64 (*.f64 y 5) (*.f64 y 5)) (-.f64 (*.f64 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x y))) (*.f64 (*.f64 y 5) (*.f64 2 (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y 5) (*.f64 y 5)) (*.f64 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x y)))) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 125 (*.f64 (pow.f64 x 3) 8)) y) (+.f64 25 (-.f64 (*.f64 (*.f64 x x) 4) (*.f64 10 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 125 (*.f64 (pow.f64 x 3) 8))) (+.f64 25 (-.f64 (*.f64 (*.f64 x x) 4) (*.f64 10 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 25 (*.f64 (*.f64 x x) 4))) (+.f64 5 (*.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (fma.f64 2 x 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (fma.f64 2 x 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (fma.f64 2 x 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 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 cbrt.f64 (*.f64 (pow.f64 (fma.f64 2 x 5) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (fma.f64 2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (fma.f64 2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (fma.f64 2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 2 (*.f64 x y))))))) |
| 1× | egg-herbie |
| 10× | fma-def_binary64 |
| 7× | *-commutative_binary64 |
| 2× | +-commutative_binary64 |
| 2× | associate-*r*_binary64 |
| 2× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 154 |
| 1 | 23 | 154 |
| 2 | 37 | 154 |
| 3 | 40 | 154 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.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)) |
| Outputs |
|---|
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 (+.f64 (*.f64 2 x) 5) y) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 5 y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 x y)) |
(*.f64 x (*.f64 2 y)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 x y)) |
(*.f64 x (*.f64 2 y)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 (fma.f64 2 x 5) y) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 x (+.f64 (*.f64 2 z) t)) |
| ✓ | 0.0b | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
Compiled 39 to 24 computations (38.5% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 1× | batch-egg-rewrite |
| 651× | log-prod_binary64 |
| 636× | fma-def_binary64 |
| 352× | pow2_binary64 |
| 292× | fma-neg_binary64 |
| 243× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 20 |
| 1 | 267 | 20 |
| 2 | 3733 | 20 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
(*.f64 x (+.f64 (*.f64 2 z) t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y))) (/.f64 (*.f64 (*.f64 y y) 25) (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (/.f64 1 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 (*.f64 y y) 25)) (/.f64 1 (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y)) (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 (*.f64 y y) 25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (fma.f64 (*.f64 y y) 25 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 x (*.f64 (fma.f64 2 z t) (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 (*.f64 y y) 25)) (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))) (neg.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 (*.f64 y y) 25))) (neg.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y y) 25) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 2 z t))) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (fma.f64 (pow.f64 y 3) 125 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 -5 y)) (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (*.f64 (*.f64 y y) 25))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))) (pow.f64 (exp.f64 y) 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)) (+.f64 1 (expm1.f64 (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z 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) (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) 5) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y 5))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 z z) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 2 z t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 z x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 2 x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z z) x (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 z t) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 2 z t)) 1 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 5) 1 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 2 z t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 2 x)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y 5)) (cbrt.f64 (*.f64 (*.f64 y y) 25)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 y y) 25)) (cbrt.f64 (*.f64 y 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 z z)) 2) (*.f64 (cbrt.f64 (+.f64 z z)) x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (fma.f64 2 z t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 z z)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) 5) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2) (*.f64 (cbrt.f64 (fma.f64 2 z t)) x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 z z)) (*.f64 (sqrt.f64 (+.f64 z z)) x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (fma.f64 2 z t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 z z)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 2 z t)) (*.f64 (sqrt.f64 (fma.f64 2 z t)) x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 2 x))) 2) (cbrt.f64 (*.f64 z (*.f64 2 x))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (*.f64 2 x))) (sqrt.f64 (*.f64 z (*.f64 2 x))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 z z))) (*.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 z z))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 z z)) (sqrt.f64 x)) (*.f64 (sqrt.f64 (+.f64 z z)) (sqrt.f64 x)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2)) (cbrt.f64 (fma.f64 2 z t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (fma.f64 2 z t))) (sqrt.f64 (fma.f64 2 z t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 2) z (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 2 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 z z)) 2)) (cbrt.f64 (+.f64 z z)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (+.f64 z z))) (sqrt.f64 (+.f64 z z)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 z z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 z z) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x t (*.f64 y 5))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 2 x)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (*.f64 2 x)) 1) (*.f64 (*.f64 x t) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (*.f64 2 x)) 3) (pow.f64 (*.f64 x t) 3)) (+.f64 (pow.f64 (*.f64 z (*.f64 2 x)) 2) (-.f64 (pow.f64 (*.f64 x t) 2) (*.f64 (*.f64 z (*.f64 2 x)) (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 2 x)) 2) (pow.f64 (*.f64 x t) 2)) (-.f64 (*.f64 z (*.f64 2 x)) (*.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 8 (pow.f64 z 3) (pow.f64 t 3)) x) (fma.f64 t (-.f64 t (+.f64 z z)) (*.f64 4 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 4 (*.f64 z z)) (*.f64 t t)) x) (fma.f64 2 z (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 8 (pow.f64 z 3) (pow.f64 t 3))) (fma.f64 t (-.f64 t (+.f64 z z)) (*.f64 4 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (*.f64 4 (*.f64 z z)) (*.f64 t t))) (fma.f64 2 z (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 2 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x t)) (exp.f64 (*.f64 z (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 2 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 z z) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x t (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 z x) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 2 x) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z z) x (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t x (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x t) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 2 x)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 z z)) 2) (*.f64 (cbrt.f64 (+.f64 z z)) x) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 z z)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) t) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) x) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 z z)) (*.f64 (sqrt.f64 (+.f64 z z)) x) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 z z)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) t) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) x) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 2 x)) 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 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 2 x))) 2) (cbrt.f64 (*.f64 z (*.f64 2 x))) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (sqrt.f64 (*.f64 x t)) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (*.f64 2 x))) (sqrt.f64 (*.f64 z (*.f64 2 x))) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 z z))) (*.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 z z))) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 z z)) (sqrt.f64 x)) (*.f64 (sqrt.f64 (+.f64 z z)) (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 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 2) z (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 2 (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 z z)) 2)) (cbrt.f64 (+.f64 z z)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (+.f64 z z))) (sqrt.f64 (+.f64 z z)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 z z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 z z) (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 z (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 t)) (sqrt.f64 t) (*.f64 z (*.f64 2 x))))))) |
| 1× | egg-herbie |
| 37× | fma-def_binary64 |
| 7× | *-commutative_binary64 |
| 6× | +-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 782 |
| 1 | 39 | 782 |
| 2 | 64 | 782 |
| 3 | 80 | 782 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 t x) (*.f64 5 y)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| Outputs |
|---|
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (*.f64 5 y)) |
(fma.f64 t x (*.f64 5 y)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(fma.f64 5 y (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 z x) (*.f64 5 y)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 5 y) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 z t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 (*.f64 2 z) t) x) |
| 0.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) | |
| ✓ | 0.0b | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
Compiled 55 to 36 computations (34.5% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1.0ms | z | @ | inf | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1× | batch-egg-rewrite |
| 790× | log-prod_binary64 |
| 716× | fma-def_binary64 |
| 339× | fma-neg_binary64 |
| 288× | expm1-udef_binary64 |
| 288× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 26 |
| 1 | 317 | 24 |
| 2 | 4499 | 24 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))) (/.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) (pow.f64 (cbrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) 2) (cbrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) (sqrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (/.f64 1 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5))) (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (/.f64 1 (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5))) (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2)) (+.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t))) (-.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5))) (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (+.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (*.f64 y (*.f64 (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))) (neg.f64 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5))) (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))) (neg.f64 (-.f64 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (pow.f64 (*.f64 y (fma.f64 2 x 5)) 2)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (fma.f64 2 x 5)))) (pow.f64 (exp.f64 x) (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) (fma.f64 2 x 5)) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (fma.f64 2 x 5)))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))) (pow.f64 (exp.f64 y) (fma.f64 2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)) (+.f64 1 (expm1.f64 (*.f64 y (fma.f64 2 x 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))) (+.f64 1 (expm1.f64 (*.f64 y (fma.f64 2 x 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (fma.f64 2 x 5) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 x 5) y (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (fma.f64 2 x 5)) 1 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 z t) x (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 2 z t)) 1 (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (fma.f64 2 x 5))) (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 2 x 5))) 2) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 2 x 5))) 2) (cbrt.f64 (*.f64 y (fma.f64 2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5)))))) (#(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 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) 5) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2) (*.f64 (cbrt.f64 (fma.f64 2 z t)) x) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 2 x 5) 2)) (*.f64 (cbrt.f64 (fma.f64 2 x 5)) y) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (fma.f64 2 x 5))) (sqrt.f64 (*.f64 y (fma.f64 2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 2 z t)) (*.f64 (sqrt.f64 (fma.f64 2 z t)) x) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y (fma.f64 2 x 5)))))) (#(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 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 y 5)) (cbrt.f64 (*.f64 y 5))) (cbrt.f64 (*.f64 y 5)) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (pow.f64 (fma.f64 2 x 5) 2))) (cbrt.f64 (fma.f64 2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(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 x (fma.f64 2 z t)))))) (#(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 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 x 5) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 y (+.f64 x x) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2)) (cbrt.f64 (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (fma.f64 2 z t))) (sqrt.f64 (fma.f64 2 z t)) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y (fma.f64 2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y (fma.f64 2 x 5))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z z) x) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t x) (*.f64 (+.f64 z z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z z)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 x (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t))) (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 z 3) 8 (pow.f64 t 3)) x) (fma.f64 t (-.f64 t (+.f64 z z)) (pow.f64 (+.f64 z z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (+.f64 z z) 2) (*.f64 t t)) x) (-.f64 (+.f64 z z) t))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (pow.f64 z 3) 8 (pow.f64 t 3))) (fma.f64 t (-.f64 t (+.f64 z z)) (pow.f64 (+.f64 z z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 (+.f64 z z) 2) (*.f64 t t))) (-.f64 (+.f64 z z) t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 2 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 2 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 z z) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x t (*.f64 x (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z z) x (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t x (*.f64 (+.f64 z z) x)))))) |
| 1× | egg-herbie |
| 1570× | fma-neg_binary64 |
| 703× | fma-def_binary64 |
| 260× | cancel-sign-sub-inv_binary64 |
| 212× | distribute-rgt-in_binary64 |
| 147× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 710 |
| 1 | 96 | 710 |
| 2 | 236 | 680 |
| 3 | 575 | 680 |
| 4 | 1191 | 680 |
| 5 | 2521 | 680 |
| 6 | 3847 | 680 |
| 7 | 4198 | 680 |
| 8 | 4280 | 680 |
| 9 | 4294 | 680 |
| 10 | 4294 | 680 |
| 11 | 5096 | 680 |
| 12 | 5096 | 680 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (+.f64 5 (*.f64 2 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 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 x) 5) y)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| Outputs |
|---|
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 5 y) |
(*.f64 y 5) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
(*.f64 x (fma.f64 2 z (fma.f64 2 y t))) |
(*.f64 x (fma.f64 2 (+.f64 z y) t)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) |
(*.f64 x (fma.f64 2 z (fma.f64 2 y t))) |
(*.f64 x (fma.f64 2 (+.f64 z y) t)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 y) (*.f64 -1 (+.f64 (*.f64 2 z) t))) x)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (*.f64 (+.f64 (*.f64 2 x) 5) y)) |
(fma.f64 t x (*.f64 y (fma.f64 2 x 5))) |
(fma.f64 x (fma.f64 2 y t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 2 (*.f64 z x)) (*.f64 (+.f64 (*.f64 2 x) 5) y)) |
(fma.f64 2 (*.f64 z x) (*.f64 y (fma.f64 2 x 5))) |
(fma.f64 y (fma.f64 2 x 5) (*.f64 2 (*.f64 z x))) |
(fma.f64 y 5 (*.f64 2 (*.f64 (+.f64 z y) x))) |
(fma.f64 2 (*.f64 x (+.f64 z y)) (*.f64 y 5)) |
(fma.f64 (+.f64 z y) (*.f64 2 x) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 x (fma.f64 2 z (fma.f64 2 y t)))) |
(fma.f64 x (fma.f64 2 z (fma.f64 2 y t)) (*.f64 y 5)) |
(fma.f64 x (fma.f64 2 (+.f64 z y) t) (*.f64 y 5)) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (fma.f64 2 z t) x) |
Compiled 7775 to 4589 computations (41% saved)
18 alts after pruning (14 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 435 | 10 | 445 |
| Fresh | 4 | 4 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 3 | 4 |
| Total | 440 | 18 | 458 |
| Status | Error | Program |
|---|---|---|
| 21.9b | (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) | |
| 55.4b | (*.f64 x (*.f64 2 y)) | |
| 33.7b | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) | |
| 14.3b | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) | |
| ▶ | 33.6b | (*.f64 (+.f64 (*.f64 2 z) t) x) |
| ✓ | 0.1b | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| ▶ | 33.6b | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 47.5b | (*.f64 z (*.f64 2 x)) | |
| ▶ | 0.1b | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| ✓ | 37.3b | (*.f64 5 y) |
| ✓ | 8.0b | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 35.6b | (fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 2 z t))) | |
| ✓ | 30.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| ▶ | 48.6b | (*.f64 t x) |
| ▶ | 6.9b | (+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 26.3b | (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) | |
| 14.3b | (fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z))) | |
| 30.0b | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
Compiled 444 to 326 computations (26.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) |
| ✓ | 0.0b | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
Compiled 50 to 25 computations (50% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | y | @ | -inf | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| 2.0ms | z | @ | -inf | (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) |
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| 1.0ms | y | @ | inf | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| 1× | batch-egg-rewrite |
| 784× | fma-def_binary64 |
| 731× | log-prod_binary64 |
| 363× | fma-neg_binary64 |
| 270× | expm1-udef_binary64 |
| 270× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 26 |
| 1 | 297 | 26 |
| 2 | 4348 | 26 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
(*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) |
| Outputs |
|---|
((#(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 (/.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y))) (/.f64 (*.f64 25 (*.f64 y y)) (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y))))))) (#(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 (fma.f64 125 (pow.f64 y 3) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3)) (/.f64 1 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 25 (*.f64 y y))) (/.f64 1 (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2)) (fma.f64 125 (pow.f64 y 3) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y)) (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 25 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 125 (pow.f64 y 3) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3)) (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 125 (pow.f64 y 3) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3)) (fma.f64 25 (*.f64 y y) (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 x (*.f64 (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) (*.f64 25 (*.f64 y y))) (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 125 (pow.f64 y 3) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 3))) (neg.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 25 (*.f64 y y)))) (neg.f64 (fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 25 (*.f64 y y)) (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)) 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 (+.f64 1 (expm1.f64 (*.f64 x (fma.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) (fma.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 (fma.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) (fma.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 (fma.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 (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 fma.f64 x (*.f64 (+.f64 y z) 2) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 (+.f64 y z) 2 t) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (*.f64 2 x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (+.f64 y z) x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) 2) x (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (+.f64 y z) 2 t) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 1 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 5) 1 (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y z) (*.f64 2 x)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 (+.f64 y z) 2)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (fma.f64 (+.f64 y z) 2 t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y 5)) (pow.f64 (cbrt.f64 (*.f64 y 5)) 2) (*.f64 x (fma.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 (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y z) 2 t)) 2) (*.f64 (cbrt.f64 (fma.f64 (+.f64 y z) 2 t)) x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) 2) (cbrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (*.f64 y 5))))) (#(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) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 (+.f64 y z) 2)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (fma.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 (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (+.f64 y z) 2 t)) (*.f64 (sqrt.f64 (fma.f64 (+.f64 y z) 2 t)) x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (sqrt.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t))) (*.f64 y 5))))) (#(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) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x)))) (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (sqrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (fma.f64 x t (*.f64 y 5)))))) (#(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)) (fma.f64 x t (*.f64 y 5)))))) (#(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))) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (+.f64 y z) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (+.f64 y z) 2) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 y z)) 2 (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 2) (+.f64 y z) (fma.f64 x t (*.f64 y 5)))))) (#(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)) (fma.f64 x t (*.f64 y 5)))))) (#(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)) (fma.f64 x t (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 (+.f64 y z) 2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y z) 2 t)) 2)) (cbrt.f64 (fma.f64 (+.f64 y z) 2 t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (fma.f64 (+.f64 y z) 2 t))) (sqrt.f64 (fma.f64 (+.f64 y z) 2 t)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 (+.f64 y z) 2 t) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 (+.f64 y z) 2 t) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y 5)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (+.f64 y z) (*.f64 2 x)) 1) (*.f64 (*.f64 x t) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (+.f64 y z) 2 t))) (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (+.f64 y z) 2 t))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (+.f64 y z) 2 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (+.f64 y z) 2 t)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (+.f64 y z) 2 t)))))))) (#(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 (+.f64 y z) (*.f64 2 x)) 3) (pow.f64 (*.f64 x t) 3)) (fma.f64 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.f64 (+.f64 y z) (*.f64 2 x)) (-.f64 (*.f64 (*.f64 x t) (*.f64 x t)) (*.f64 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.f64 (+.f64 y z) (*.f64 2 x))) (*.f64 (*.f64 x t) (*.f64 x t))) (-.f64 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.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)) (pow.f64 (*.f64 (+.f64 y z) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.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)) (pow.f64 (*.f64 (+.f64 y z) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (+.f64 y z) 2) 2) (*.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 (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 (pow.f64 (*.f64 x (fma.f64 (+.f64 y z) 2 t)) 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 x) (fma.f64 (+.f64 y z) 2 t)))))) (#(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 (+.f64 y z) (*.f64 2 x)))))))) (#(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 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 (+.f64 y z) (*.f64 2 x)))))) (#(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 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y z) (*.f64 2 x)) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) x) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (sqrt.f64 t) (*.f64 (sqrt.f64 t) x) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (sqrt.f64 x) (*.f64 (sqrt.f64 x) t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (*.f64 (+.f64 y z) (*.f64 2 x)) 1 (*.f64 (*.f64 x t) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x)))) (cbrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 x t)) (cbrt.f64 (*.f64 x t))) (cbrt.f64 (*.f64 x t)) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (sqrt.f64 (*.f64 (+.f64 y z) (*.f64 2 x))) (*.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x t)) (sqrt.f64 (*.f64 x t)) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (*.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 (sqrt.f64 x) (sqrt.f64 t)) (*.f64 (sqrt.f64 x) (sqrt.f64 t)) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(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 (+.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 fma.f64 (*.f64 x (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 y z) (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 y z) (*.f64 2 x))))))) |
| 1× | egg-herbie |
| 1556× | fma-neg_binary64 |
| 547× | fma-def_binary64 |
| 366× | cancel-sign-sub-inv_binary64 |
| 160× | unsub-neg_binary64 |
| 151× | associate--r+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 1287 |
| 1 | 120 | 1129 |
| 2 | 253 | 1129 |
| 3 | 463 | 1129 |
| 4 | 724 | 1129 |
| 5 | 1191 | 1129 |
| 6 | 2391 | 1129 |
| 7 | 3704 | 1129 |
| 8 | 4061 | 1129 |
| 9 | 4145 | 1129 |
| 10 | 4151 | 1129 |
| 11 | 4151 | 1129 |
| 12 | 5142 | 1129 |
| 13 | 5142 | 1129 |
| 1× | saturated |
| 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 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 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)) |
| 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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 y t) (*.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 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.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)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 5 y (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x)) |
(fma.f64 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(+.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 5 y (*.f64 (fma.f64 2 (+.f64 y z) t) x)) |
(fma.f64 (fma.f64 2 (+.f64 y z) t) x (*.f64 5 y)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.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 t (*.f64 2 (+.f64 y z))) x) |
(*.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 t (*.f64 2 (+.f64 y z))) x) |
(*.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 t (*.f64 2 (+.f64 y z))) x) |
(*.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 t (*.f64 2 (+.f64 y z))) x) |
(*.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 t (*.f64 2 (+.f64 y z))) x) |
(*.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 (*.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 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 x (fma.f64 2 y t)) |
(*.f64 x (fma.f64 y 2 t)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 y) t)) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 t x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(*.f64 t x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 t x)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (fma.f64 2 (+.f64 y z) t) x) |
Compiled 9 to 5 computations (44.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (+.f64 (*.f64 2 z) t) x) |
Compiled 23 to 14 computations (39.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 2 (*.f64 z x)) |
| ✓ | 0.0b | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
Compiled 28 to 12 computations (57.1% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 1.0ms | x | @ | inf | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 1× | batch-egg-rewrite |
| 503× | log-prod_binary64 |
| 382× | prod-exp_binary64 |
| 374× | fma-def_binary64 |
| 368× | exp-prod_binary64 |
| 336× | pow-prod-down_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 18 |
| 1 | 192 | 17 |
| 2 | 2561 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 z x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 t x) 2) (*.f64 x (-.f64 t (*.f64 2 z)))) (/.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)) (*.f64 x (-.f64 t (*.f64 2 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 t (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (fma.f64 2 z t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (fma.f64 2 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (cbrt.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (sqrt.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t x) 3)) (/.f64 1 (fma.f64 (*.f64 x (*.f64 2 z)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)) (pow.f64 (*.f64 t x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 t x) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2))) (/.f64 1 (*.f64 x (-.f64 t (*.f64 2 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x (*.f64 2 z)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)) (pow.f64 (*.f64 t x) 2)) (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (-.f64 t (*.f64 2 z))) (-.f64 (pow.f64 (*.f64 t x) 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 t x) 3)) (fma.f64 (*.f64 x (*.f64 2 z)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)) (pow.f64 (*.f64 t x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t x) 3)) (fma.f64 4 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 t x) 2) (*.f64 (*.f64 t x) (*.f64 x (*.f64 2 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t x) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2))) (*.f64 x (-.f64 t (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t x) 3))) (neg.f64 (fma.f64 (*.f64 x (*.f64 2 z)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)) (pow.f64 (*.f64 t x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t x) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2)))) (neg.f64 (*.f64 x (-.f64 t (*.f64 2 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2)) (pow.f64 (*.f64 t x) 2)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 2 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x (*.f64 2 z)) (-.f64 (*.f64 x (*.f64 2 z)) (*.f64 t x)) (pow.f64 (*.f64 t x) 2)) (fma.f64 8 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x (-.f64 t (*.f64 2 z))) (-.f64 (pow.f64 (*.f64 t x) 2) (*.f64 4 (pow.f64 (*.f64 x z) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (fma.f64 2 z t)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (fma.f64 2 z t))))) (sqrt.f64 (log.f64 (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t x))) (pow.f64 (exp.f64 2) (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) x) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 2 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t x))) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 2 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 2 z)))) (pow.f64 (exp.f64 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 2) (*.f64 x z)) (+.f64 1 (expm1.f64 (*.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 2 z)))) (+.f64 1 (expm1.f64 (*.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 2 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (fma.f64 2 z t)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 2 z t))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t x (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x t (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 z) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t x) 1 (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x z) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 x 2) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 2 (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 2 z)) 1 (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t x) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 2 z)) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 2 z))) (cbrt.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2))) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (pow.f64 (*.f64 x z) 2))) (cbrt.f64 (*.f64 x (*.f64 2 z))) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) x) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) t) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (*.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t x)) (cbrt.f64 (pow.f64 (*.f64 t x) 2)) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t x) 2)) (cbrt.f64 (*.f64 t x)) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 2 z))) (sqrt.f64 (*.f64 x (*.f64 2 z))) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) x) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) t) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (*.f64 (sqrt.f64 (*.f64 x z)) 2) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t x)) (sqrt.f64 (*.f64 t x)) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 z) x (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 t)) (sqrt.f64 t) (*.f64 x (*.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 x) z (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (cbrt.f64 (pow.f64 (*.f64 x z) 2))) (cbrt.f64 (*.f64 x z)) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 x z))) (sqrt.f64 (*.f64 x z)) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) 1) x (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 2 z) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 2 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 x (*.f64 2 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 2 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 x (*.f64 2 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 2 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 pow.f64 (exp.f64 1) (log.f64 (*.f64 x (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (*.f64 2 z)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (*.f64 2 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (*.f64 2 z))))) (sqrt.f64 (log.f64 (*.f64 x (*.f64 2 z)))))))) (#(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 x (*.f64 2 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 x (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 2 z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 2 z)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (*.f64 2 z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 8 (pow.f64 (*.f64 x z) 3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 2 z))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 2 z))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (*.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 2 z)) (*.f64 (log.f64 x) 1))))))) |
| 1× | egg-herbie |
| 198× | fma-def_binary64 |
| 193× | fma-neg_binary64 |
| 67× | cancel-sign-sub-inv_binary64 |
| 50× | associate-*l*_binary64 |
| 47× | associate-*r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 129 |
| 1 | 36 | 129 |
| 2 | 81 | 129 |
| 3 | 200 | 129 |
| 4 | 371 | 129 |
| 5 | 533 | 129 |
| 6 | 833 | 129 |
| 7 | 998 | 129 |
| 8 | 1042 | 129 |
| 9 | 1047 | 129 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 2 (*.f64 z x)) |
(*.f64 t x) |
(*.f64 t x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 t x) |
(*.f64 2 (*.f64 z x)) |
(*.f64 2 (*.f64 z x)) |
| Outputs |
|---|
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 t x) |
(*.f64 x t) |
(*.f64 t x) |
(*.f64 x t) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) (*.f64 -2 z)) x)) |
(*.f64 x (fma.f64 2 z t)) |
(*.f64 t x) |
(*.f64 x t) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (+.f64 (*.f64 2 z) t) x) | |
| ✓ | 0.0b | (+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| ✓ | 2.4b | (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) |
| ✓ | 4.2b | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
Compiled 98 to 61 computations (37.8% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | t | @ | -inf | (+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 2.0ms | y | @ | 0 | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
| 1.0ms | y | @ | inf | (+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1.0ms | x | @ | 0 | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
| 1.0ms | x | @ | inf | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
| 1× | batch-egg-rewrite |
| 435× | fma-neg_binary64 |
| 398× | expm1-udef_binary64 |
| 398× | log1p-udef_binary64 |
| 238× | add-sqr-sqrt_binary64 |
| 231× | *-un-lft-identity_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 67 |
| 1 | 471 | 37 |
| 2 | 6559 | 37 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
(*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y (fma.f64 x -2 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 25 (/.f64 (fma.f64 x -2 5) y)) (/.f64 (*.f64 (*.f64 x x) 4) (/.f64 (fma.f64 x -2 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (/.f64 1 (/.f64 (fma.f64 x -2 5) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (*.f64 y (/.f64 1 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (fma.f64 x -2 5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (/.f64 1 (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -2 5) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (fma.f64 x -2 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (/.f64 1 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) 2) (cbrt.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (*.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (/.f64 1 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 y (fma.f64 x -2 5))) (sqrt.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (neg.f64 y)) (/.f64 1 (neg.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -2 5)) (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) 1) (/.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 1) (fma.f64 x -2 5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 1) (/.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (pow.f64 (cbrt.f64 (fma.f64 x -2 5)) 2)) (/.f64 y (cbrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (pow.f64 (cbrt.f64 (fma.f64 x -2 5)) 2)) (/.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (cbrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -2 5)) 2)) (/.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (cbrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 2) (pow.f64 (cbrt.f64 (fma.f64 x -2 5)) 2)) (cbrt.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (pow.f64 (cbrt.f64 (fma.f64 x -2 5)) 2)) (/.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (cbrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (sqrt.f64 (fma.f64 x -2 5))) (/.f64 y (sqrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sqrt.f64 (fma.f64 x -2 5))) (/.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) (sqrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x -2 5))) (/.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (sqrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 2) (sqrt.f64 (fma.f64 x -2 5))) (/.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) (sqrt.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (+.f64 125 (*.f64 (pow.f64 x 3) -8))) (+.f64 25 (*.f64 (*.f64 x -2) (fma.f64 x -2 -5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (+.f64 25 (*.f64 (*.f64 x x) -4))) (fma.f64 x -2 5))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (fma.f64 x -2 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (fma.f64 x -2 5))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 y (fma.f64 x -2 5))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (neg.f64 (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (fma.f64 x -2 5))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 25 y) (*.f64 (*.f64 (*.f64 x x) -4) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 25) (*.f64 y (*.f64 (*.f64 x x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 15625 (*.f64 64 (pow.f64 (*.f64 x x) 3))) y) (+.f64 625 (+.f64 (*.f64 16 (pow.f64 x 4)) (*.f64 100 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 625 (*.f64 16 (pow.f64 x 4))) y) (+.f64 25 (*.f64 (*.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 15625 (*.f64 64 (pow.f64 (*.f64 x x) 3)))) (+.f64 625 (+.f64 (*.f64 16 (pow.f64 x 4)) (*.f64 100 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 625 (*.f64 16 (pow.f64 x 4)))) (+.f64 25 (*.f64 (*.f64 x x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (+.f64 25 (*.f64 (*.f64 x x) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))) (/.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) 2) (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (*.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (/.f64 1 (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (*.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5))))) (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) (-.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (*.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (+.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (*.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (*.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))) (neg.f64 (-.f64 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (pow.f64 (*.f64 y (fma.f64 x -2 5)) 2)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 2 z t) (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 25 (*.f64 (*.f64 x x) -4)) y) (/.f64 1 (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 z t) x (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 2 z t)) (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) 2) (cbrt.f64 (*.f64 y (fma.f64 x -2 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 y (fma.f64 x -2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (fma.f64 x -2 5))) (sqrt.f64 (*.f64 y (fma.f64 x -2 5))) (*.f64 x (fma.f64 2 z t))))))) |
| 1× | egg-herbie |
| 528× | fma-def_binary64 |
| 454× | cancel-sign-sub-inv_binary64 |
| 386× | fma-neg_binary64 |
| 383× | associate-/l*_binary64 |
| 352× | unsub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 2073 |
| 1 | 162 | 1892 |
| 2 | 366 | 1555 |
| 3 | 988 | 1537 |
| 4 | 3158 | 1537 |
| 5 | 7170 | 1537 |
| 1× | node limit |
| 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 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(*.f64 25 y) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(*.f64 -4 (*.f64 y (pow.f64 x 2))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(*.f64 -4 (*.f64 y (pow.f64 x 2))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(*.f64 5 y) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) x) (*.f64 5 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) x) (*.f64 5 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) 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 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 t x) (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 2 (*.f64 z x))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
| Outputs |
|---|
(*.f64 5 y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(fma.f64 2 (*.f64 y x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 x 2)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(fma.f64 2 (*.f64 y x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 x 2)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(fma.f64 2 (*.f64 y x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(fma.f64 5 y (*.f64 y (*.f64 x 2))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 25 y) |
(*.f64 y 25) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 -4 (*.f64 y (pow.f64 x 2))) |
(*.f64 -4 (*.f64 y (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 y -4)) |
(*.f64 x (*.f64 (*.f64 y x) -4)) |
(*.f64 (*.f64 y x) (*.f64 x -4)) |
(*.f64 x (*.f64 x (*.f64 y -4))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 -4 (*.f64 y (pow.f64 x 2))) |
(*.f64 -4 (*.f64 y (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 y -4)) |
(*.f64 x (*.f64 (*.f64 y x) -4)) |
(*.f64 (*.f64 y x) (*.f64 x -4)) |
(*.f64 x (*.f64 x (*.f64 y -4))) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(+.f64 (*.f64 25 y) (*.f64 -4 (*.f64 y (pow.f64 x 2)))) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) |
(fma.f64 25 y (*.f64 -4 (*.f64 y (*.f64 x x)))) |
(*.f64 y (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 y (fma.f64 (*.f64 x x) -4 25)) |
(*.f64 y (fma.f64 x (*.f64 x -4) 25)) |
(*.f64 5 y) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) x) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) x) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 2 z) t) (*.f64 -2 y)) x) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
(*.f64 x (fma.f64 2 z (fma.f64 2 y t))) |
(*.f64 x (fma.f64 2 z (fma.f64 y 2 t))) |
(*.f64 x (fma.f64 2 (+.f64 y z) t)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 5 y) (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) |
(*.f64 x (fma.f64 2 z (fma.f64 2 y t))) |
(*.f64 x (fma.f64 2 z (fma.f64 y 2 t))) |
(*.f64 x (fma.f64 2 (+.f64 y z) t)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 2 z) t)) (*.f64 -2 y)) x)) (*.f64 5 y)) |
(fma.f64 (+.f64 (fma.f64 2 z t) (*.f64 y 2)) x (*.f64 5 y)) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 5 y)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (-.f64 (*.f64 25 (/.f64 1 (+.f64 5 (*.f64 -2 x)))) (*.f64 4 (/.f64 (pow.f64 x 2) (+.f64 5 (*.f64 -2 x))))) y) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) |
(/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) |
(*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4))) |
(*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5))) |
(*.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x)))) |
(fma.f64 t x (/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x)))))) |
(fma.f64 x t (*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4)))) |
(fma.f64 (/.f64 y (fma.f64 x -2 5)) (fma.f64 (*.f64 x x) -4 25) (*.f64 x t)) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x t)) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 2 (*.f64 x z)) |
(*.f64 x (*.f64 2 z)) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 2 (*.f64 x z)) |
(*.f64 x (*.f64 2 z)) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 4 (pow.f64 x 2))) y) (+.f64 5 (*.f64 -2 x))) (*.f64 2 (*.f64 z x))) |
(+.f64 (/.f64 y (/.f64 (+.f64 5 (*.f64 x -2)) (-.f64 25 (*.f64 4 (*.f64 x x))))) (*.f64 2 (*.f64 x z))) |
(fma.f64 2 (*.f64 x z) (*.f64 (/.f64 y (fma.f64 x -2 5)) (+.f64 25 (*.f64 (*.f64 x x) -4)))) |
(fma.f64 2 (*.f64 x z) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 y (/.f64 (fma.f64 x (*.f64 x -4) 25) (fma.f64 x -2 5)) (*.f64 2 (*.f64 x z))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (*.f64 2 z))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 t x) |
(*.f64 x t) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 t x) |
(*.f64 x t) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (/.f64 (*.f64 y (-.f64 25 (*.f64 4 (pow.f64 x 2)))) (+.f64 5 (*.f64 -2 x))) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x)))) |
(fma.f64 (+.f64 (/.f64 25 (+.f64 5 (*.f64 x -2))) (*.f64 -4 (/.f64 (*.f64 x x) (+.f64 5 (*.f64 x -2))))) y (*.f64 x (fma.f64 2 z t))) |
(fma.f64 y (+.f64 (/.f64 25 (fma.f64 x -2 5)) (*.f64 -4 (/.f64 (*.f64 x x) (fma.f64 x -2 5)))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (fma.f64 (*.f64 x x) -4 25) (/.f64 y (fma.f64 x -2 5)))) |
(fma.f64 (fma.f64 x (*.f64 x -4) 25) (/.f64 y (fma.f64 x -2 5)) (*.f64 x (fma.f64 2 z t))) |
Compiled 9000 to 5288 computations (41.2% saved)
18 alts after pruning (10 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 479 | 2 | 481 |
| Fresh | 1 | 8 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 8 | 8 |
| Total | 481 | 18 | 499 |
| Status | Error | Program |
|---|---|---|
| 21.9b | (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) | |
| ▶ | 55.4b | (*.f64 x (*.f64 2 y)) |
| 33.7b | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) | |
| ▶ | 14.3b | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| ✓ | 33.6b | (*.f64 (+.f64 (*.f64 2 z) t) x) |
| ✓ | 0.1b | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| ✓ | 33.6b | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| ▶ | 8.1b | (+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 14.3b | (fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z))) | |
| ✓ | 37.3b | (*.f64 5 y) |
| ✓ | 8.0b | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 35.6b | (fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 2 z t))) | |
| ✓ | 30.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| ✓ | 48.6b | (*.f64 t x) |
| 47.5b | (*.f64 (*.f64 2 z) x) | |
| ▶ | 26.3b | (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
| ▶ | 30.0b | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
| ✓ | 0.1b | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
Compiled 384 to 284 computations (26% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (+.f64 (*.f64 2 z) t) x) | |
| ✓ | 0.0b | (+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| ✓ | 0.3b | (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
Compiled 64 to 44 computations (31.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 27.0ms | y | @ | -inf | (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
| 2.0ms | y | @ | 0 | (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
| 2.0ms | x | @ | inf | (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
| 1.0ms | x | @ | 0 | (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
| 1.0ms | z | @ | 0 | (+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 1× | batch-egg-rewrite |
| 699× | fma-def_binary64 |
| 334× | expm1-udef_binary64 |
| 334× | log1p-udef_binary64 |
| 327× | fma-neg_binary64 |
| 265× | log-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 36 |
| 1 | 377 | 30 |
| 2 | 5161 | 30 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) |
(+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (*.f64 (fma.f64 -2 x 5) 1/25)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 25 (/.f64 1 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 25 (/.f64 y (fma.f64 -2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 25 (*.f64 y (/.f64 1 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 25) (/.f64 1 (fma.f64 -2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 2) (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (*.f64 (cbrt.f64 (*.f64 y 25)) (/.f64 1 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (sqrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 5 (sqrt.f64 y)) (*.f64 (*.f64 5 (sqrt.f64 y)) (/.f64 1 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y -25) (/.f64 1 (neg.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 -2 x 5)) (*.f64 y 25))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 1) (/.f64 25 (fma.f64 -2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (fma.f64 -2 x 5)) 25)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y 25)) (fma.f64 -2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 5 (sqrt.f64 y)) 1) (/.f64 (*.f64 5 (sqrt.f64 y)) (fma.f64 -2 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 25 (cbrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 25 (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 y (cbrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 (*.f64 y 25) (cbrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 5 (sqrt.f64 y)) (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 (*.f64 5 (sqrt.f64 y)) (cbrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 25 (sqrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 25 (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 y (sqrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 (*.f64 y 25) (sqrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 (cbrt.f64 (*.f64 y 25)) (sqrt.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 25) (fma.f64 -8 (pow.f64 x 3) 125)) (fma.f64 (*.f64 -2 x) (fma.f64 -2 x -5) 25))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 25) (-.f64 25 (*.f64 4 (*.f64 x x)))) (+.f64 5 (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/25 (/.f64 (fma.f64 -2 x 5) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 y 25) (neg.f64 (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))) (/.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))) (cbrt.f64 (pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 2)) (cbrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))) (sqrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (/.f64 1 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (/.f64 1 (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2)) (+.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t))) (-.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3)) (+.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (-.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (*.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2)) (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 3) (pow.f64 (*.f64 x (fma.f64 2 z t)) 3))) (neg.f64 (fma.f64 (*.f64 x (fma.f64 2 z t)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2) (pow.f64 (*.f64 x (fma.f64 2 z t)) 2))) (neg.f64 (-.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 2 z t)) 2) (pow.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 2)) (-.f64 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))) (pow.f64 (exp.f64 (fma.f64 2 z t)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))) (exp.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (fma.f64 2 z t)) x) (+.f64 1 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 2 z t)))) (+.f64 1 (expm1.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (/.f64 1 (*.f64 (fma.f64 -2 x 5) 1/25)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 25 (/.f64 1 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 25 (*.f64 y (/.f64 1 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 25) (/.f64 1 (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) 1 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 2 z t) x (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 2 z t)) 1 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 25 (/.f64 y (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2) (*.f64 (cbrt.f64 (fma.f64 2 z t)) x) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 2 z t))) 2) (cbrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (pow.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 2) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) 2) (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (*.f64 (cbrt.f64 (*.f64 y 25)) (/.f64 1 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 2 z t)) (*.f64 (sqrt.f64 (fma.f64 2 z t)) x) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (sqrt.f64 (*.f64 x (fma.f64 2 z t))) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (sqrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (*.f64 (*.f64 5 (sqrt.f64 y)) (/.f64 1 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -25) (/.f64 1 (neg.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 -2 x 5)) (*.f64 y 25) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 y 1) (/.f64 25 (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 y (fma.f64 -2 x 5)) 25 (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y 25)) (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 5 (sqrt.f64 y)) 1) (/.f64 (*.f64 5 (sqrt.f64 y)) (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 y (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 25 (cbrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 25 (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 y (cbrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 (*.f64 y 25) (cbrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (cbrt.f64 (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 5 (sqrt.f64 y)) (pow.f64 (cbrt.f64 (fma.f64 -2 x 5)) 2)) (/.f64 (*.f64 5 (sqrt.f64 y)) (cbrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 y (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 25 (sqrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 25 (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 y (sqrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 (*.f64 y 25) (sqrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y 25)) 2) (sqrt.f64 (fma.f64 -2 x 5))) (/.f64 (cbrt.f64 (*.f64 y 25)) (sqrt.f64 (fma.f64 -2 x 5))) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y 25) (fma.f64 -8 (pow.f64 x 3) 125)) (fma.f64 (*.f64 -2 x) (fma.f64 -2 x -5) 25) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y 25) (-.f64 25 (*.f64 4 (*.f64 x x)))) (+.f64 5 (*.f64 2 x)) (*.f64 x (fma.f64 2 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (fma.f64 2 z t)) 2)) (cbrt.f64 (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (fma.f64 2 z t))) (sqrt.f64 (fma.f64 2 z t)) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 25 (/.f64 y (fma.f64 -2 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 2 z t) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))))))) |
| 1× | egg-herbie |
| 667× | associate-/l*_binary64 |
| 544× | distribute-rgt-out_binary64 |
| 540× | associate-/l/_binary64 |
| 482× | associate-*l/_binary64 |
| 359× | +-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 1307 |
| 1 | 190 | 1221 |
| 2 | 462 | 1173 |
| 3 | 1364 | 1154 |
| 4 | 4076 | 1154 |
| 5 | 7886 | 1154 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(*.f64 5 y) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 4/5 (*.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (+.f64 (*.f64 8/25 (*.f64 y (pow.f64 x 3))) (*.f64 4/5 (*.f64 y (pow.f64 x 2)))))) |
(*.f64 -25/2 (/.f64 y x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 -3125/16 (/.f64 y (pow.f64 x 4))) (+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(*.f64 -25/2 (/.f64 y x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 -3125/16 (/.f64 y (pow.f64 x 4))) (+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 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 (*.f64 5 y) (*.f64 4/5 (*.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (+.f64 (*.f64 5 y) (+.f64 (*.f64 8/25 (*.f64 y (pow.f64 x 3))) (*.f64 4/5 (*.f64 y (pow.f64 x 2)))))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(*.f64 2 (*.f64 z x)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(*.f64 t x) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
| Outputs |
|---|
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(*.f64 5 y) |
(*.f64 y 5) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(fma.f64 2 (*.f64 y x) (*.f64 y 5)) |
(*.f64 y (+.f64 5 (*.f64 x 2))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 4/5 (*.f64 y (pow.f64 x 2))))) |
(fma.f64 2 (*.f64 y x) (fma.f64 5 y (*.f64 4/5 (*.f64 y (*.f64 x x))))) |
(fma.f64 2 (*.f64 y x) (fma.f64 y 5 (*.f64 (*.f64 x x) (*.f64 y 4/5)))) |
(fma.f64 y 5 (*.f64 y (+.f64 (*.f64 x (*.f64 x 4/5)) (*.f64 x 2)))) |
(*.f64 y (+.f64 5 (*.f64 x (+.f64 2 (*.f64 x 4/5))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (+.f64 (*.f64 8/25 (*.f64 y (pow.f64 x 3))) (*.f64 4/5 (*.f64 y (pow.f64 x 2)))))) |
(fma.f64 2 (*.f64 y x) (fma.f64 5 y (fma.f64 8/25 (*.f64 y (pow.f64 x 3)) (*.f64 4/5 (*.f64 y (*.f64 x x)))))) |
(fma.f64 2 (*.f64 y x) (fma.f64 y 5 (fma.f64 4/5 (*.f64 y (*.f64 x x)) (*.f64 (pow.f64 x 3) (*.f64 y 8/25))))) |
(fma.f64 y 5 (fma.f64 y (*.f64 x 2) (*.f64 (*.f64 x x) (+.f64 (*.f64 y 4/5) (*.f64 x (*.f64 y 8/25)))))) |
(*.f64 y (+.f64 (+.f64 5 (*.f64 x 2)) (*.f64 (*.f64 x x) (+.f64 4/5 (*.f64 x 8/25))))) |
(*.f64 -25/2 (/.f64 y x)) |
(/.f64 (*.f64 y -25/2) x) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 -125/4 (/.f64 y (*.f64 x x)))) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 (/.f64 -125/4 x) (/.f64 y x))) |
(*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 -125/4 (/.f64 y (*.f64 x x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -125/4 (/.f64 y (*.f64 x x)) (*.f64 -625/8 (/.f64 y (pow.f64 x 3))))) |
(fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(*.f64 (/.f64 y x) (+.f64 (/.f64 -125/4 x) (+.f64 -25/2 (/.f64 -625/8 (*.f64 x x))))) |
(*.f64 (/.f64 y x) (+.f64 (/.f64 -625/8 (*.f64 x x)) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(+.f64 (*.f64 -3125/16 (/.f64 y (pow.f64 x 4))) (+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 -125/4 (/.f64 y (*.f64 x x)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -25/2 (/.f64 y x) (fma.f64 -125/4 (/.f64 y (*.f64 x x)) (*.f64 -625/8 (/.f64 y (pow.f64 x 3)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))))) |
(+.f64 (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) (*.f64 (/.f64 y (pow.f64 x 3)) (+.f64 (/.f64 -3125/16 x) -625/8))) |
(+.f64 (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) (*.f64 (/.f64 y (pow.f64 x 3)) (+.f64 -625/8 (/.f64 -3125/16 x)))) |
(*.f64 -25/2 (/.f64 y x)) |
(/.f64 (*.f64 y -25/2) x) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 -125/4 (/.f64 y (*.f64 x x)))) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 (/.f64 -125/4 x) (/.f64 y x))) |
(*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 -125/4 (/.f64 y (*.f64 x x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -125/4 (/.f64 y (*.f64 x x)) (*.f64 -625/8 (/.f64 y (pow.f64 x 3))))) |
(fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(*.f64 (/.f64 y x) (+.f64 (/.f64 -125/4 x) (+.f64 -25/2 (/.f64 -625/8 (*.f64 x x))))) |
(*.f64 (/.f64 y x) (+.f64 (/.f64 -625/8 (*.f64 x x)) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(+.f64 (*.f64 -3125/16 (/.f64 y (pow.f64 x 4))) (+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 -125/4 (/.f64 y (*.f64 x x)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -25/2 (/.f64 y x) (fma.f64 -125/4 (/.f64 y (*.f64 x x)) (*.f64 -625/8 (/.f64 y (pow.f64 x 3)))))) |
(fma.f64 -3125/16 (/.f64 y (pow.f64 x 4)) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))))) |
(+.f64 (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) (*.f64 (/.f64 y (pow.f64 x 3)) (+.f64 (/.f64 -3125/16 x) -625/8))) |
(+.f64 (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))) (*.f64 (/.f64 y (pow.f64 x 3)) (+.f64 -625/8 (/.f64 -3125/16 x)))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) |
(/.f64 (*.f64 25 y) (fma.f64 -2 x 5)) |
(*.f64 25 (/.f64 y (fma.f64 -2 x 5))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.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 x (fma.f64 2 z (fma.f64 y 2 t)) (*.f64 y 5)) |
(fma.f64 y 5 (*.f64 x (fma.f64 2 (+.f64 y z) t))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 y 5)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (+.f64 (*.f64 5 y) (*.f64 4/5 (*.f64 y (pow.f64 x 2))))) |
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (fma.f64 5 y (*.f64 4/5 (*.f64 y (*.f64 x x))))) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (fma.f64 y 5 (*.f64 (*.f64 x x) (*.f64 y 4/5)))) |
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 y (*.f64 4/5 x)) (fma.f64 2 (+.f64 y z) t)))) |
(fma.f64 y 5 (*.f64 x (+.f64 (fma.f64 2 z t) (*.f64 y (+.f64 (*.f64 x 4/5) 2))))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 y (+.f64 5 (*.f64 x (*.f64 x 4/5))))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) (+.f64 (*.f64 5 y) (+.f64 (*.f64 8/25 (*.f64 y (pow.f64 x 3))) (*.f64 4/5 (*.f64 y (pow.f64 x 2)))))) |
(fma.f64 (fma.f64 2 z (fma.f64 2 y t)) x (fma.f64 5 y (fma.f64 8/25 (*.f64 y (pow.f64 x 3)) (*.f64 4/5 (*.f64 y (*.f64 x x)))))) |
(fma.f64 x (fma.f64 2 z (fma.f64 y 2 t)) (fma.f64 y 5 (fma.f64 4/5 (*.f64 y (*.f64 x x)) (*.f64 (pow.f64 x 3) (*.f64 y 8/25))))) |
(fma.f64 y 5 (fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 (*.f64 x x) (+.f64 (*.f64 y 4/5) (*.f64 x (*.f64 y 8/25)))))) |
(fma.f64 y 5 (*.f64 x (+.f64 (*.f64 x (*.f64 y (+.f64 4/5 (*.f64 x 8/25)))) (fma.f64 2 (+.f64 y z) t)))) |
(fma.f64 x (fma.f64 2 (+.f64 y z) t) (*.f64 y (+.f64 5 (*.f64 (*.f64 x x) (+.f64 4/5 (*.f64 x 8/25)))))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 -25/2 (/.f64 y x))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 y -25/2) x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 (fma.f64 2 z t) x (*.f64 -125/4 (/.f64 y (*.f64 x x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 -125/4 x) (/.f64 y x)))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 (fma.f64 2 z t) x (*.f64 -125/4 (/.f64 y (*.f64 x x)))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 -125/4 x) (/.f64 y x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y (*.f64 x x)) (+.f64 -125/4 (/.f64 -625/8 x))))) |
(fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 x (fma.f64 2 z t)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 -25/2 (/.f64 y x) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 -25/2 (/.f64 y x))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 y -25/2) x)) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 (fma.f64 2 z t) x (*.f64 -125/4 (/.f64 y (*.f64 x x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 -125/4 x) (/.f64 y x)))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x)))) |
(+.f64 (*.f64 -25/2 (/.f64 y x)) (+.f64 (*.f64 -625/8 (/.f64 y (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 -125/4 (/.f64 y (pow.f64 x 2)))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 (fma.f64 2 z t) x (*.f64 -125/4 (/.f64 y (*.f64 x x)))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 -125/4 x) (/.f64 y x))))) |
(fma.f64 -25/2 (/.f64 y x) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y (*.f64 x x)) (+.f64 -125/4 (/.f64 -625/8 x))))) |
(fma.f64 -625/8 (/.f64 y (pow.f64 x 3)) (fma.f64 x (fma.f64 2 z t) (*.f64 (/.f64 y x) (+.f64 -25/2 (/.f64 -125/4 x))))) |
(+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 t x (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x t)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 2 (*.f64 x z)) |
(*.f64 x (*.f64 2 z)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 2 (*.f64 x z)) |
(*.f64 x (*.f64 2 z)) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 2 (*.f64 x z))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (*.f64 2 z))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 2 (*.f64 x z))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 t x) |
(*.f64 x t) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(*.f64 t x) |
(*.f64 x t) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
(+.f64 (*.f64 t x) (+.f64 (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x)))) (*.f64 2 (*.f64 z x)))) |
(fma.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))) (*.f64 x (fma.f64 2 z t))) |
(fma.f64 x (fma.f64 2 z t) (/.f64 (*.f64 25 y) (fma.f64 -2 x 5))) |
(fma.f64 x (fma.f64 2 z t) (*.f64 25 (/.f64 y (fma.f64 -2 x 5)))) |
(fma.f64 25 (/.f64 y (fma.f64 -2 x 5)) (*.f64 x (fma.f64 2 z t))) |
Compiled 15 to 10 computations (33.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
Compiled 33 to 15 computations (54.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.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 | 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 | z | @ | -inf | (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
| 1× | batch-egg-rewrite |
| 550× | log-prod_binary64 |
| 420× | fma-def_binary64 |
| 399× | pow-prod-down_binary64 |
| 302× | pow2_binary64 |
| 209× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 13 |
| 1 | 224 | 11 |
| 2 | 3239 | 11 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
| 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)))))) |
| 1× | egg-herbie |
| 77× | fma-def_binary64 |
| 15× | *-commutative_binary64 |
| 9× | associate-*l*_binary64 |
| 9× | distribute-rgt-in_binary64 |
| 8× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 440 |
| 1 | 54 | 413 |
| 2 | 111 | 359 |
| 3 | 165 | 359 |
| 4 | 171 | 359 |
| 1× | saturated |
| 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))) |
| 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) t)) |
(*.f64 x (fma.f64 2 (+.f64 y z) t)) |
(*.f64 2 (*.f64 y x)) |
(+.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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) t)) |
(*.f64 x (fma.f64 2 (+.f64 y z) t)) |
(*.f64 2 (*.f64 y x)) |
(+.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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) 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 (+.f64 (*.f64 2 (+.f64 y z)) t)) |
(*.f64 x (fma.f64 2 (+.f64 y z) t)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (*.f64 2 x) (+.f64 y z)) |
| ✓ | 0.0b | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
Compiled 36 to 20 computations (44.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| 1× | batch-egg-rewrite |
| 636× | fma-def_binary64 |
| 628× | log-prod_binary64 |
| 330× | pow2_binary64 |
| 279× | fma-neg_binary64 |
| 228× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 24 |
| 1 | 249 | 24 |
| 2 | 3580 | 24 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
(*.f64 (*.f64 2 x) (+.f64 y z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y))) (/.f64 (pow.f64 (*.f64 y 5) 2) (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) 2) (cbrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) (sqrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3))) (/.f64 1 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z)))) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (pow.f64 (*.f64 y 5) 2)) (/.f64 1 (fma.f64 (+.f64 x x) (+.f64 y z) (*.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 x (+.f64 y z)))) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2))) (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y)) (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (pow.f64 (*.f64 y 5) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3))) (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z)))) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3))) (fma.f64 (*.f64 y y) 25 (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (*.f64 (+.f64 x x) (*.f64 (+.f64 y z) (*.f64 y 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (pow.f64 (*.f64 y 5) 2)) (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3)))) (neg.f64 (fma.f64 (*.f64 y 5) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z)))) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (pow.f64 (*.f64 y 5) 2))) (neg.f64 (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y 5) 2) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2))) (-.f64 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.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 x (+.f64 y z)))) (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2))) (fma.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3) (*.f64 125 (pow.f64 y 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 -5 y)) (-.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) (pow.f64 (*.f64 y 5) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x (+.f64 y z))))) (pow.f64 (exp.f64 y) 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.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 x (+.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 y 5))) (pow.f64 (exp.f64 2) (*.f64 x (+.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 x (+.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y 5))) (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x (+.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x y) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 y) (fma.f64 2 (*.f64 x z) (*.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 x x) y (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x x) (+.f64 y z) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (+.f64 x x) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 5 (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (+.f64 x x) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (*.f64 x (+.f64 y z))) 1 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5 y (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 5) 1 (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 x (+.f64 y z))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 x y)) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) 2) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) 2) (cbrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x x)) (fma.f64 2 (*.f64 x z) (*.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 x (+.f64 y z))))))) (#(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 x (+.f64 y z))))))) (#(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 x (+.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)) (+.f64 x x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x x)) 2) (*.f64 (cbrt.f64 (+.f64 x x)) y) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x x)) 2) (*.f64 (cbrt.f64 (+.f64 x x)) (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) (sqrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x x)) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 5) (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y 5)) (sqrt.f64 (*.f64 y 5)) (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y z)) (*.f64 (sqrt.f64 (+.f64 y z)) (+.f64 x x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x x)) (*.f64 (sqrt.f64 (+.f64 x x)) y) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x x)) (*.f64 (sqrt.f64 (+.f64 x x)) (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 y z)) 2 (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x y))) 2) (cbrt.f64 (*.f64 2 (*.f64 x y))) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 x y))) (sqrt.f64 (*.f64 2 (*.f64 x y))) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 y)) (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 y)) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 (+.f64 x x))) (*.f64 (sqrt.f64 y) (sqrt.f64 (+.f64 x x))) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 2 (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 2) x (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x x)) 2)) (cbrt.f64 (+.f64 x x)) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (+.f64 x x))) (sqrt.f64 (+.f64 x x)) (fma.f64 2 (*.f64 x z) (*.f64 y 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (pow.f64 (cbrt.f64 (+.f64 y z)) 2)) (cbrt.f64 (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (sqrt.f64 (+.f64 y z))) (sqrt.f64 (+.f64 y z)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) 2) x (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) (pow.f64 (cbrt.f64 (+.f64 x x)) 2)) (cbrt.f64 (+.f64 x x)) (*.f64 y 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y z) (sqrt.f64 (+.f64 x x))) (sqrt.f64 (+.f64 x 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 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 x (+.f64 y z)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 x z)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 2 (*.f64 x y)) 1) (*.f64 (*.f64 2 (*.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.f64 y z)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.f64 y z))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2 (*.f64 x (+.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 x y)) 3) (pow.f64 (*.f64 2 (*.f64 x z)) 3)) (+.f64 (pow.f64 (*.f64 2 (*.f64 x y)) 2) (-.f64 (pow.f64 (*.f64 2 (*.f64 x z)) 2) (*.f64 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 (*.f64 x y)) 2) (pow.f64 (*.f64 2 (*.f64 x z)) 2)) (-.f64 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 x 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)) (+.f64 x x)) (-.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 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 (+.f64 x x) (-.f64 (*.f64 y y) (*.f64 z z))) (-.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 x (+.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4 (pow.f64 (*.f64 x (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (*.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (*.f64 x (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 2 (*.f64 x z))) (exp.f64 (*.f64 2 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 8 (pow.f64 (*.f64 x (+.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (*.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (*.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (*.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 x (+.f64 y z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 x z) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 2 z) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x x) y (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x x) z (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (+.f64 x x) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x x) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 x z)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (*.f64 x y)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (+.f64 x x)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x x)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x x)) 2) (*.f64 (cbrt.f64 (+.f64 x x)) y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x x)) 2) (*.f64 (cbrt.f64 (+.f64 x x)) z) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (+.f64 x x)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x x)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x x)) (*.f64 (sqrt.f64 (+.f64 x x)) y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x x)) (*.f64 (sqrt.f64 (+.f64 x x)) z) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (*.f64 x y)) 1 (*.f64 (*.f64 2 (*.f64 x z)) 1))))) (#(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 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (*.f64 x y))) 2) (cbrt.f64 (*.f64 2 (*.f64 x y))) (*.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 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (*.f64 x y))) (sqrt.f64 (*.f64 2 (*.f64 x y))) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 y)) (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 y)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 y) (sqrt.f64 (+.f64 x x))) (*.f64 (sqrt.f64 y) (sqrt.f64 (+.f64 x x))) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x x))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x x))) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 z)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 2 (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 2 (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 2) x (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (+.f64 x x)) 2)) (cbrt.f64 (+.f64 x x)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (+.f64 x x))) (sqrt.f64 (+.f64 x x)) (*.f64 2 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z 2) x (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x x)) 2)) (cbrt.f64 (+.f64 x x)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (+.f64 x x))) (sqrt.f64 (+.f64 x x)) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 2 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x x) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 2 (*.f64 x y))))))) |
| 1× | egg-herbie |
| 786× | fma-def_binary64 |
| 664× | fma-neg_binary64 |
| 188× | cancel-sign-sub-inv_binary64 |
| 120× | associate-*l*_binary64 |
| 113× | associate-*r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 789 |
| 1 | 86 | 789 |
| 2 | 175 | 789 |
| 3 | 302 | 789 |
| 4 | 466 | 789 |
| 5 | 749 | 789 |
| 6 | 1484 | 789 |
| 7 | 2555 | 789 |
| 8 | 2983 | 789 |
| 9 | 3094 | 789 |
| 10 | 3101 | 789 |
| 11 | 3101 | 789 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 5 y) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 5 y)) |
(+.f64 (*.f64 2 (*.f64 (+.f64 y z) x)) (*.f64 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 (*.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 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)) |
(*.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))) |
| Outputs |
|---|
(*.f64 5 y) |
(+.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 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 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 2 (*.f64 (+.f64 y z) 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 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 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 2 (*.f64 (+.f64 y z) 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 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 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 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 2 x) 5) y) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(*.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 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) 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 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) (*.f64 2 (*.f64 z x))) |
(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 y x)) (*.f64 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 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(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 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(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 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(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 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.f64 2 (*.f64 (+.f64 y z) x))) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(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 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(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 y x)) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x)))) |
(fma.f64 2 (*.f64 (+.f64 y z) x) (*.f64 5 y)) |
(fma.f64 5 y (*.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)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 2 (*.f64 z x)) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 z)) |
(*.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 (*.f64 z x))) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 2 (*.f64 x y)) |
| ✓ | 0.1b | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
Compiled 24 to 13 computations (45.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | 0 | (*.f64 2 (*.f64 x y)) |
| 1.0ms | y | @ | 0 | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
| 1.0ms | y | @ | -inf | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
| 1.0ms | y | @ | inf | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
| 1.0ms | x | @ | 0 | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
| 1× | batch-egg-rewrite |
| 740× | pow1_binary64 |
| 683× | add-log-exp_binary64 |
| 683× | log1p-expm1-u_binary64 |
| 683× | expm1-log1p-u_binary64 |
| 671× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 18 |
| 1 | 163 | 18 |
| 2 | 1835 | 18 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
(*.f64 2 (*.f64 x y)) |
| Outputs |
|---|
((#(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 (*.f64 y 5) 1) (*.f64 y (*.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y 5 (*.f64 y (*.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) (pow.f64 (cbrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) 2) (cbrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) (sqrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y 5) 3) (pow.f64 (*.f64 y (*.f64 2 x)) 3)) (+.f64 (*.f64 (*.f64 y 5) (*.f64 y 5)) (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 4) (*.f64 (*.f64 y 5) (*.f64 y (*.f64 2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y 5) (*.f64 y 5)) (*.f64 (pow.f64 (*.f64 y x) 2) 4)) (-.f64 (*.f64 y 5) (*.f64 y (*.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y 5 (*.f64 y (*.f64 2 x))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (*.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 2 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 2 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (*.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (*.f64 2 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (*.f64 2 x)))))))) |
| 1× | egg-herbie |
| 294× | fma-def_binary64 |
| 157× | fma-neg_binary64 |
| 52× | cancel-sign-sub-inv_binary64 |
| 34× | distribute-rgt-neg-in_binary64 |
| 32× | associate-*l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 396 |
| 1 | 43 | 354 |
| 2 | 86 | 354 |
| 3 | 161 | 354 |
| 4 | 247 | 354 |
| 5 | 313 | 354 |
| 6 | 468 | 354 |
| 7 | 689 | 354 |
| 8 | 974 | 354 |
| 9 | 1049 | 354 |
| 10 | 1055 | 354 |
| 1× | saturated |
| Inputs |
|---|
(*.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))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.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 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
| Outputs |
|---|
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 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 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 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 -1 (*.f64 y (-.f64 (*.f64 -2 x) 5))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 5 y) |
(*.f64 y 5) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.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)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 5 y)) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 y (fma.f64 2 x 5)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
(*.f64 2 (*.f64 y x)) |
(*.f64 y (*.f64 2 x)) |
Compiled 8151 to 4919 computations (39.7% saved)
21 alts after pruning (8 fresh and 13 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 444 | 5 | 449 |
| Fresh | 2 | 3 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 12 | 12 |
| Total | 446 | 21 | 467 |
| Status | Error | Program |
|---|---|---|
| 21.9b | (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) | |
| ✓ | 55.4b | (*.f64 x (*.f64 2 y)) |
| 37.2b | (fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 x (+.f64 y z)))) | |
| 33.7b | (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) | |
| ✓ | 14.3b | (+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
| ✓ | 33.6b | (*.f64 (+.f64 (*.f64 2 z) t) x) |
| ✓ | 0.1b | (+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| 40.5b | (*.f64 2 (*.f64 (+.f64 y z) x)) | |
| ✓ | 33.6b | (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| 41.5b | (*.f64 x (+.f64 (*.f64 2 y) t)) | |
| ✓ | 0.1b | (+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
| ✓ | 37.3b | (*.f64 5 y) |
| ✓ | 8.0b | (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
| 14.3b | (fma.f64 y 5 (*.f64 2 (*.f64 x (+.f64 y z)))) | |
| ✓ | 30.0b | (*.f64 y (+.f64 5 (*.f64 2 x))) |
| ✓ | 48.6b | (*.f64 t x) |
| 23.8b | (+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) | |
| 47.5b | (*.f64 (*.f64 2 z) x) | |
| ✓ | 26.3b | (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
| ✓ | 8.1b | (+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| ✓ | 30.0b | (fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
Compiled 282 to 209 computations (25.9% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
(+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
(/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
(+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
(+.f64 (/.f64 (*.f64 y 25) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(+.f64 (/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
(fma.f64 y 5 (*.f64 2 (*.f64 x y))) |
(fma.f64 y 5 (*.f64 2 (*.f64 x (+.f64 y z)))) |
(fma.f64 5 y (*.f64 (*.f64 2 x) (+.f64 y z))) |
(/.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)))) |
(fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 2 (*.f64 x (+.f64 y z)))) |
(fma.f64 (*.f64 5 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x (fma.f64 2 z t))) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
5 calls:
| 51.0ms | z |
| 18.0ms | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
| 16.0ms | x |
| 16.0ms | y |
| 15.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | t |
| 0.1b | 1 | (+.f64 (*.f64 x (+.f64 (+.f64 (+.f64 (+.f64 y z) z) y) t)) (*.f64 y 5)) |
Compiled 374 to 221 computations (40.9% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
(+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
(/.f64 (*.f64 (-.f64 25 (*.f64 (*.f64 x x) 4)) y) (+.f64 5 (*.f64 -2 x))) |
(+.f64 (*.f64 y (+.f64 5 (*.f64 2 x))) (*.f64 (+.f64 (*.f64 2 z) t) x)) |
| Outputs |
|---|
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
4 calls:
| 40.0ms | y |
| 17.0ms | t |
| 13.0ms | z |
| 11.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | t |
Compiled 199 to 122 computations (38.7% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
(+.f64 (*.f64 (*.f64 2 x) (+.f64 y z)) (*.f64 y 5)) |
(+.f64 (*.f64 t x) (*.f64 25 (/.f64 y (+.f64 5 (*.f64 -2 x))))) |
| Outputs |
|---|
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
4 calls:
| 74.0ms | z |
| 29.0ms | x |
| 28.0ms | t |
| 27.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.9b | 3 | x |
| 2.2b | 3 | y |
| 6.7b | 3 | z |
| 1.9b | 3 | t |
Compiled 156 to 94 computations (39.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 0.011247021440946504 | 28620603791797.582 |
| 25.0ms | -107.97529457520649 | -1.2508127597970046e-5 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(*.f64 (+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) t)) x) |
| Outputs |
|---|
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(*.f64 t x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) |
4 calls:
| 69.0ms | t |
| 52.0ms | z |
| 51.0ms | y |
| 39.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 7.8b | 5 | x |
| 9.0b | 5 | y |
| 15.3b | 5 | z |
| 12.6b | 8 | t |
Compiled 121 to 73 computations (39.7% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 48.0ms | 1.6340397480525963e-11 | 4.3359422912986785e-10 |
| 51.0ms | -1.1148601298206822e-92 | -3.977309028605348e-101 |
| 46.0ms | -2.710493420732782e-77 | -3.288648142597279e-80 |
| 29.0ms | -9.399664520910197e-13 | -5.04450782393796e-17 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
| Outputs |
|---|
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
4 calls:
| 111.0ms | t |
| 47.0ms | z |
| 37.0ms | x |
| 36.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 12.5b | 5 | x |
| 10.3b | 4 | y |
| 16.0b | 6 | z |
| 14.5b | 7 | t |
Compiled 101 to 62 computations (38.6% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 1.1478279949384903e+35 | 1.388791490210338e+35 |
| 27.0ms | 2.2353329587320628e-23 | 1.2347264789088766e-21 |
| 23.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
| Outputs |
|---|
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
4 calls:
| 46.0ms | t |
| 43.0ms | z |
| 36.0ms | y |
| 33.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 12.5b | 5 | x |
| 10.3b | 4 | y |
| 16.0b | 6 | z |
| 14.5b | 7 | t |
Compiled 92 to 59 computations (35.9% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 1.1478279949384903e+35 | 1.388791490210338e+35 |
| 28.0ms | 2.2353329587320628e-23 | 1.2347264789088766e-21 |
| 23.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
| Outputs |
|---|
(*.f64 y (+.f64 5 (*.f64 2 x))) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 y (+.f64 5 (*.f64 2 x))) |
4 calls:
| 55.0ms | t |
| 55.0ms | z |
| 30.0ms | x |
| 20.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 19.3b | 5 | x |
| 11.4b | 3 | y |
| 18.9b | 7 | z |
| 17.5b | 9 | t |
Compiled 83 to 53 computations (36.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 23.0ms | 5.168095856406694e-9 | 4.069274667233251e-5 |
| 23.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
| Outputs |
|---|
(*.f64 5 y) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 5 y) |
(*.f64 (+.f64 (*.f64 2 z) t) x) |
(*.f64 5 y) |
4 calls:
| 74.0ms | t |
| 53.0ms | z |
| 28.0ms | x |
| 28.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 19.3b | 5 | x |
| 16.7b | 5 | y |
| 22.7b | 9 | z |
| 19.1b | 14 | t |
Compiled 69 to 44 computations (36.2% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 23.0ms | 5.573454616976714e+22 | 7.562848681832134e+24 |
| 23.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
| 23.0ms | -4.7016550180962944e+30 | -7.596398147612218e+28 |
| 31.0ms | -3.371896834192484e+76 | -2.0170056121400535e+75 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 x (+.f64 (*.f64 2 y) t)) |
| Outputs |
|---|
(*.f64 x (+.f64 (*.f64 2 y) t)) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
4 calls:
| 76.0ms | z |
| 71.0ms | t |
| 34.0ms | y |
| 28.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 21.8b | 5 | x |
| 25.5b | 5 | y |
| 23.0b | 15 | z |
| 22.6b | 13 | t |
Compiled 62 to 40 computations (35.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 1.710224624000954e-15 | 3.5976603696221575e-14 |
| 28.0ms | -3.254003894849981e-138 | -1.3322448760237791e-139 |
| 31.0ms | -1.1598372584778884e-76 | -2.710493420732782e-77 |
| 25.0ms | -9.399664520910197e-13 | -5.04450782393796e-17 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
| Outputs |
|---|
(*.f64 2 (*.f64 (+.f64 y z) x)) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 2 (*.f64 (+.f64 y z) x)) |
4 calls:
| 105.0ms | y |
| 71.0ms | t |
| 39.0ms | x |
| 35.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 22.7b | 5 | x |
| 25.3b | 6 | y |
| 28.5b | 6 | z |
| 22.9b | 13 | t |
Compiled 55 to 36 computations (34.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 29.0ms | 1.710224624000954e-15 | 3.5976603696221575e-14 |
| 25.0ms | -3.254003894849981e-138 | -1.3322448760237791e-139 |
| 49.0ms | -1.1598372584778884e-76 | -2.710493420732782e-77 |
| 26.0ms | -5.821640657580814e-52 | -7.10456697256303e-53 |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 x (*.f64 2 y)) |
(*.f64 z (*.f64 2 x)) |
| Outputs |
|---|
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 (*.f64 2 z) x) |
(*.f64 t x) |
(*.f64 5 y) |
4 calls:
| 75.0ms | t |
| 44.0ms | y |
| 24.0ms | x |
| 23.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 28.7b | 5 | x |
| 26.4b | 5 | y |
| 30.0b | 5 | z |
| 28.3b | 9 | t |
Compiled 48 to 32 computations (33.3% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 2.2353329587320628e-23 | 1.2347264789088766e-21 |
| 25.0ms | 2.2810509960991402e-216 | 7.346946062140098e-208 |
| 24.0ms | -3.7324448801607866e-240 | -9.847052945917847e-251 |
| 24.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
Compiled 26 to 18 computations (30.8% saved)
Total -33.7b remaining (-117%)
Threshold costs -33.7b (-117%)
| Inputs |
|---|
(*.f64 t x) |
(*.f64 5 y) |
(*.f64 t x) |
| Outputs |
|---|
(*.f64 5 y) |
(*.f64 t x) |
(*.f64 5 y) |
4 calls:
| 32.0ms | z |
| 24.0ms | t |
| 16.0ms | x |
| 14.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 30.3b | 5 | x |
| 28.8b | 3 | y |
| 35.9b | 3 | z |
| 30.6b | 7 | t |
Compiled 33 to 23 computations (30.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 2.2353329587320628e-23 | 1.2347264789088766e-21 |
| 50.0ms | -8.850455521446088e-28 | -5.264739885629797e-32 |
Compiled 26 to 18 computations (30.8% saved)
| 1× | egg-herbie |
| 17× | *-commutative_binary64 |
| 11× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 585 |
| 1 | 136 | 585 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
(if (<=.f64 x -7598085881470617/70368744177664) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x 207470926112664192/18446744073709551616) (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))) |
(if (<=.f64 x -74471814824223776/79228162514264337593543950336) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x -7067356942912773/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 x -3272870610900795/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (*.f64 t x) (if (<=.f64 x 1294619667134786560/79228162514264337593543950336) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 y (+.f64 5 (*.f64 2 x)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 y (+.f64 5 (*.f64 2 x)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 6247844519053431/1208925819614629174706176) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 y (+.f64 5 (*.f64 2 x))))) |
(if (<=.f64 y -33718968341924838575146919661832796620479863789234665294572733367417195986944) (*.f64 5 y) (if (<=.f64 y -4701655018096294442927633989632) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y 55734546169767139475456) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 5 y))))) |
(if (<=.f64 x -74471814824223776/79228162514264337593543950336) (*.f64 x (+.f64 (*.f64 2 y) t)) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 5 y) (if (<=.f64 x -43629059225433672/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t x) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 5 y) (*.f64 2 (*.f64 (+.f64 y z) x)))))) |
(if (<=.f64 x -15695112164369452/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 2 (*.f64 (+.f64 y z) x)) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 5 y) (if (<=.f64 x -43629059225433672/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t x) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 5 y) (*.f64 2 (*.f64 (+.f64 y z) x)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y -3502674093799131/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t x) (if (<=.f64 y 3541372940904469/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 (*.f64 2 z) x) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 t x) (*.f64 5 y))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 t x) (*.f64 5 y))) |
(*.f64 t x) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 y z) 2)) (*.f64 x t)) (*.f64 y 5)) |
(+.f64 (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (*.f64 y 5)) |
(if (<=.f64 x -7598085881470617/70368744177664) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x 207470926112664192/18446744073709551616) (+.f64 (*.f64 x (+.f64 (*.f64 2 z) t)) (*.f64 y 5)) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))) |
(if (<=.f64 x -7598085881470617/70368744177664) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (if (<=.f64 x 1620866610255189/144115188075855872) (+.f64 (*.f64 y 5) (*.f64 x (+.f64 t (*.f64 z 2)))) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))) |
(if (<=.f64 x -74471814824223776/79228162514264337593543950336) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x) (if (<=.f64 x -7067356942912773/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (if (<=.f64 x -3272870610900795/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (*.f64 t x) (if (<=.f64 x 1294619667134786560/79228162514264337593543950336) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 (+.f64 t (*.f64 2 (+.f64 y z))) x))))) |
(if (<=.f64 x -2327244213256993/2475880078570760549798248448) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)) (if (<=.f64 x -7067356942912773/260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864128) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (if (<=.f64 x -3272870610900795/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (*.f64 x t) (if (<=.f64 x 1264277018686315/77371252455336267181195264) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (*.f64 x (+.f64 (*.f64 (+.f64 y z) 2) t)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (+.f64 (*.f64 t x) (*.f64 2 (*.f64 z x))) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 y (+.f64 5 (*.f64 2 x)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 y 1901610975134327/85070591730234615865843651857942052864) (+.f64 (*.f64 2 (*.f64 x z)) (*.f64 x t)) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (*.f64 y (+.f64 5 (*.f64 x 2)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 5 y) (*.f64 2 (*.f64 z x))) (*.f64 y (+.f64 5 (*.f64 2 x)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 y 1901610975134327/85070591730234615865843651857942052864) (*.f64 x (+.f64 t (*.f64 z 2))) (if (<=.f64 y 114782799493849032704158690384543744) (+.f64 (*.f64 y 5) (*.f64 2 (*.f64 x z))) (*.f64 y (+.f64 5 (*.f64 x 2)))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 2 x))) (if (<=.f64 y 6247844519053431/1208925819614629174706176) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 y (+.f64 5 (*.f64 2 x))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y (+.f64 5 (*.f64 x 2))) (if (<=.f64 y 6247844519053431/1208925819614629174706176) (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y (+.f64 5 (*.f64 x 2))))) |
(if (<=.f64 y -33718968341924838575146919661832796620479863789234665294572733367417195986944) (*.f64 5 y) (if (<=.f64 y -4701655018096294442927633989632) (*.f64 (+.f64 (*.f64 2 z) t) x) (if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y 55734546169767139475456) (*.f64 (+.f64 (*.f64 2 z) t) x) (*.f64 5 y))))) |
(if (<=.f64 y -33718968341924838575146919661832796620479863789234665294572733367417195986944) (*.f64 y 5) (if (<=.f64 y -4701655018096294442927633989632) (*.f64 x (+.f64 t (*.f64 z 2))) (if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y 5) (if (<=.f64 y 55734546169767139475456) (*.f64 x (+.f64 t (*.f64 z 2))) (*.f64 y 5))))) |
(if (<=.f64 x -74471814824223776/79228162514264337593543950336) (*.f64 x (+.f64 (*.f64 2 y) t)) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 5 y) (if (<=.f64 x -43629059225433672/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t x) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 5 y) (*.f64 2 (*.f64 (+.f64 y z) x)))))) |
(if (<=.f64 x -2327244213256993/2475880078570760549798248448) (*.f64 x (+.f64 t (*.f64 y 2))) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 y 5) (if (<=.f64 x -5453632403179209/1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512) (*.f64 x t) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z))))))) |
(if (<=.f64 x -15695112164369452/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 2 (*.f64 (+.f64 y z) x)) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 5 y) (if (<=.f64 x -43629059225433672/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t x) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 5 y) (*.f64 2 (*.f64 (+.f64 y z) x)))))) |
(if (<=.f64 x -3923778041092363/6739986666787659948666753771754907668409286105635143120275902562304) (*.f64 2 (*.f64 x (+.f64 y z))) (if (<=.f64 x -7560416711080381/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 y 5) (if (<=.f64 x -5453632403179209/1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512) (*.f64 x t) (if (<=.f64 x 8671869084559629/5070602400912917605986812821504) (*.f64 y 5) (*.f64 2 (*.f64 x (+.f64 y z))))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y -3502674093799131/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t x) (if (<=.f64 y 3541372940904469/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 (*.f64 2 z) x) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 t x) (*.f64 5 y))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y 5) (if (<=.f64 y -3502674093799131/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 x t) (if (<=.f64 y 3541372940904469/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 x (*.f64 z 2)) (if (<=.f64 y 1901610975134327/85070591730234615865843651857942052864) (*.f64 x t) (*.f64 y 5))))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 5 y) (if (<=.f64 y 7606443900537308/340282366920938463463374607431768211456) (*.f64 t x) (*.f64 5 y))) |
(if (<=.f64 y -2467146918433721/2787593149816327892691964784081045188247552) (*.f64 y 5) (if (<=.f64 y 1901610975134327/85070591730234615865843651857942052864) (*.f64 x t) (*.f64 y 5))) |
(*.f64 t x) |
(*.f64 x t) |
Compiled 457 to 308 computations (32.6% saved)
Compiled 409 to 245 computations (40.1% saved)
Loading profile data...