Time bar (total: 15.8s)
| 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% | 79.4% | 3.4% | 12 |
Compiled 14 to 9 computations (35.7% saved)
| 1.0s | 8256× | body | 256 | valid |
| 477.0ms | 3888× | body | 256 | invalid |
| 2× | egg-herbie |
| 832× | unsub-neg_binary64 |
| 438× | +-commutative_binary64 |
| 318× | associate--r-_binary64 |
| 308× | distribute-rgt-in_binary64 |
| 286× | fma-def_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 91 |
| 1 | 56 | 77 |
| 2 | 162 | 77 |
| 3 | 608 | 77 |
| 4 | 2577 | 77 |
| 5 | 4316 | 77 |
| 6 | 7121 | 77 |
| 0 | 4 | 4 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
| Inputs |
|---|
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y))) |
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z))) |
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t))) |
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x))) |
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x))) |
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x))) |
| Outputs |
|---|
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y))) |
(fma.f64 (-.f64 x z) (-.f64 t y) y) |
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z))) |
(fma.f64 (-.f64 y x) (-.f64 t z) z) |
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t))) |
(fma.f64 (-.f64 y z) (-.f64 x t) t) |
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x))) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 z y))) |
(fma.f64 (-.f64 t x) (-.f64 z y) x) |
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x))) |
(+.f64 x (*.f64 (-.f64 y x) (-.f64 t z))) |
(fma.f64 (-.f64 y x) (-.f64 t z) x) |
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x))) |
(fma.f64 (-.f64 y t) (-.f64 z x) x) |
Compiled 17 to 12 computations (29.4% saved)
| 1× | egg-herbie |
| 2262× | fma-neg_binary64 |
| 697× | fma-def_binary64 |
| 683× | unsub-neg_binary64 |
| 303× | distribute-rgt-in_binary64 |
| 280× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 15 | 11 |
| 2 | 37 | 11 |
| 3 | 123 | 11 |
| 4 | 471 | 11 |
| 5 | 1557 | 11 |
| 6 | 3034 | 11 |
| 7 | 4148 | 11 |
| 8 | 5180 | 11 |
| 9 | 5438 | 11 |
| 10 | 5449 | 11 |
| 11 | 5449 | 11 |
| 12 | 5491 | 11 |
| 13 | 5491 | 11 |
| 14 | 5491 | 11 |
| 15 | 7765 | 11 |
| 16 | 7765 | 11 |
| 17 | 7765 | 11 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| Outputs |
|---|
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
Compiled 21 to 9 computations (57.1% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| ▶ | 0.0b | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
Compiled 25 to 15 computations (40% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| ✓ | 0.0b | (*.f64 (-.f64 y z) (-.f64 t x)) |
Compiled 30 to 8 computations (73.3% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | t | @ | -inf | (*.f64 (-.f64 y z) (-.f64 t x)) |
| 1.0ms | x | @ | 0 | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| 1.0ms | z | @ | inf | (*.f64 (-.f64 y z) (-.f64 t x)) |
| 1.0ms | y | @ | inf | (*.f64 (-.f64 y z) (-.f64 t x)) |
| 1.0ms | y | @ | 0 | (*.f64 (-.f64 y z) (-.f64 t x)) |
| 1× | batch-egg-rewrite |
| 543× | log-prod_binary64 |
| 520× | fma-def_binary64 |
| 444× | pow-prod-down_binary64 |
| 303× | pow2_binary64 |
| 239× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 208 | 21 |
| 2 | 3231 | 21 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (-.f64 y z)) (*.f64 (neg.f64 x) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 t x)) (*.f64 (neg.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (*.f64 (fma.f64 z (+.f64 y z) (*.f64 y y)) (fma.f64 t t (*.f64 x (+.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (*.f64 (+.f64 y z) (fma.f64 t t (*.f64 x (+.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 (*.f64 t t) (*.f64 x x))) (*.f64 (fma.f64 z (+.f64 y z) (*.f64 y y)) (+.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 (*.f64 t t) (*.f64 x x))) (*.f64 (+.f64 y z) (+.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 (fma.f64 t t (*.f64 x (+.f64 t x))) (fma.f64 z (+.f64 y z) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 (+.f64 t x) (fma.f64 z (+.f64 y z) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 (*.f64 y y) (*.f64 z z))) (*.f64 (fma.f64 t t (*.f64 x (+.f64 t x))) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 (*.f64 y y) (*.f64 z z))) (*.f64 (+.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (-.f64 t x)) (fma.f64 z (+.f64 y z) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (-.f64 t x)) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (-.f64 y z)) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (-.f64 (*.f64 y y) (*.f64 z z))) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (*.f64 (neg.f64 x) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (-.f64 t x) (neg.f64 z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))) (/.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2)) (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 t x)) (-.f64 y z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (-.f64 t x)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (-.f64 t x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (-.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 t x) 2)) (*.f64 (cbrt.f64 (-.f64 t x)) (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 y z) 2)) (*.f64 (cbrt.f64 (-.f64 y z)) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (sqrt.f64 (*.f64 (-.f64 y z) (-.f64 t x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (cbrt.f64 (pow.f64 (-.f64 t x) 2))) (cbrt.f64 (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (cbrt.f64 (pow.f64 (-.f64 y z) 2))) (cbrt.f64 (-.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) x))))) |
| 1× | egg-herbie |
| 2719× | fma-neg_binary64 |
| 401× | unsub-neg_binary64 |
| 314× | fma-def_binary64 |
| 292× | associate-+l-_binary64 |
| 276× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 1500 |
| 1 | 105 | 1169 |
| 2 | 241 | 935 |
| 3 | 740 | 929 |
| 4 | 1834 | 929 |
| 5 | 3843 | 929 |
| 6 | 4481 | 929 |
| 7 | 4671 | 929 |
| 8 | 4709 | 929 |
| 9 | 4709 | 929 |
| 10 | 5045 | 929 |
| 11 | 5088 | 929 |
| 12 | 5088 | 929 |
| 13 | 7108 | 929 |
| 14 | 7108 | 929 |
| 15 | 7108 | 929 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 z (-.f64 t x))) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 z (-.f64 t x))) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 z (-.f64 t x))) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 (neg.f64 (-.f64 y z)) x) |
(*.f64 x (neg.f64 (-.f64 y z))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 (neg.f64 (-.f64 y z)) x) |
(*.f64 x (neg.f64 (-.f64 y z))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 (neg.f64 (-.f64 y z)) x) |
(*.f64 x (neg.f64 (-.f64 y z))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) (*.f64 (-.f64 t x) y)) |
(*.f64 (-.f64 t x) (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) x) |
(fma.f64 (neg.f64 z) (-.f64 t x) x) |
(fma.f64 z (fma.f64 -1 t x) x) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(fma.f64 y (-.f64 t x) x) |
(fma.f64 (-.f64 t x) y x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 z (-.f64 t x))) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 z (-.f64 t x))) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 x (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
Compiled 22 to 7 computations (68.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| 0.0ms | x | @ | -inf | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| 0.0ms | t | @ | inf | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| 0.0ms | t | @ | -inf | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| 0.0ms | y | @ | -inf | (fma.f64 (-.f64 y z) (-.f64 t x) x) |
| 1× | batch-egg-rewrite |
| 782× | prod-diff_binary64 |
| 449× | log-prod_binary64 |
| 341× | fma-def_binary64 |
| 332× | pow-prod-down_binary64 |
| 261× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 11 |
| 1 | 180 | 11 |
| 2 | 2636 | 11 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y z) (-.f64 t x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (-.f64 y z) (-.f64 t x))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y z) (-.f64 t x) x)) 1)))))) |
| 1× | egg-herbie |
| 2702× | fma-neg_binary64 |
| 409× | unsub-neg_binary64 |
| 318× | fma-def_binary64 |
| 288× | associate-+l-_binary64 |
| 286× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 753 |
| 1 | 100 | 569 |
| 2 | 239 | 488 |
| 3 | 735 | 485 |
| 4 | 1817 | 485 |
| 5 | 3817 | 485 |
| 6 | 4447 | 485 |
| 7 | 4637 | 485 |
| 8 | 4675 | 485 |
| 9 | 4675 | 485 |
| 10 | 5011 | 485 |
| 11 | 5067 | 485 |
| 12 | 5067 | 485 |
| 13 | 7101 | 485 |
| 14 | 7101 | 485 |
| 15 | 7101 | 485 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
| Outputs |
|---|
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) x) |
(-.f64 x (*.f64 (-.f64 t x) z)) |
(fma.f64 z (fma.f64 -1 t x) x) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 y (-.f64 t x)) |
(*.f64 (-.f64 t x) y) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(fma.f64 y (-.f64 t x) x) |
(fma.f64 (-.f64 t x) y x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 (-.f64 t x) z)) |
(*.f64 (-.f64 t x) (neg.f64 z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(neg.f64 (*.f64 (-.f64 t x) z)) |
(*.f64 (-.f64 t x) (neg.f64 z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(fma.f64 -1 (*.f64 x (-.f64 y z)) x) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(fma.f64 -1 (*.f64 x (-.f64 y z)) x) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(fma.f64 -1 (*.f64 x (-.f64 y z)) x) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 y (-.f64 t x) x)) |
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
Compiled 2622 to 668 computations (74.5% saved)
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 167 | 9 | 176 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 169 | 9 | 178 |
| Status | Error | Program |
|---|---|---|
| 30.5b | (+.f64 x (*.f64 x (-.f64 z y))) | |
| 37.9b | (*.f64 z (-.f64 x t)) | |
| ▶ | 0.0b | (+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))) |
| 30.5b | (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) | |
| 28.3b | (+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x))) | |
| ▶ | 0.0b | (+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
| ▶ | 38.0b | (*.f64 (-.f64 t x) y) |
| ▶ | 25.1b | (+.f64 x (*.f64 z (-.f64 x t))) |
| ▶ | 32.6b | (*.f64 t (-.f64 y z)) |
Compiled 238 to 148 computations (37.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))) |
| ✓ | 0.0b | (*.f64 (-.f64 y z) t) |
| ✓ | 0.0b | (*.f64 (-.f64 y z) (neg.f64 x)) |
Compiled 50 to 10 computations (80% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 43.0ms | z | @ | 0 | (*.f64 (-.f64 y z) t) |
| 2.0ms | x | @ | 0 | (*.f64 (-.f64 y z) (neg.f64 x)) |
| 1.0ms | x | @ | inf | (*.f64 (-.f64 y z) (neg.f64 x)) |
| 1.0ms | t | @ | inf | (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))) |
| 1.0ms | y | @ | 0 | (*.f64 (-.f64 y z) (neg.f64 x)) |
| 1× | batch-egg-rewrite |
| 722× | fma-def_binary64 |
| 636× | log-prod_binary64 |
| 401× | fma-neg_binary64 |
| 224× | expm1-udef_binary64 |
| 224× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 43 |
| 1 | 258 | 35 |
| 2 | 4138 | 35 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 y z) (neg.f64 x)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x))) |
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (neg.f64 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))) (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 y z)) x) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 y z) (-.f64 y z))) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (neg.f64 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 x (neg.f64 z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t y) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 t) (-.f64 y z))) (cbrt.f64 (pow.f64 (exp.f64 t) (-.f64 y z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 t) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 t) (-.f64 y z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 t) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y z) t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) t) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 y z)) t) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (+.f64 y z) (-.f64 y z))) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) t)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y z) t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y t (*.f64 (neg.f64 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t y (*.f64 t (neg.f64 z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y z) (+.f64 x t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2) (*.f64 (-.f64 y z) (+.f64 x t))) (/.f64 (pow.f64 (*.f64 (-.f64 y z) x) 2) (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y z) (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (/.f64 1 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x t) (-.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (-.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z))) (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) x) 2) (-.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2)) (neg.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) x) 2) (pow.f64 (*.f64 (-.f64 y z) t) 2)) (-.f64 (*.f64 (-.f64 y z) x) (*.f64 (-.f64 y z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 x t)) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 y z)) (+.f64 x t)) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z))) (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 y z)) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t))) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (exp.f64 t) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (-.f64 y z)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t))) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) t))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) x (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (+.f64 x t) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (+.f64 x t) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (+.f64 x t) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) x) 1 (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) t) 1 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) t) 1 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) t) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1 (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) t) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) t) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (/.f64 1 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (/.f64 1 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (/.f64 1 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (-.f64 y z)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (-.f64 y z)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (-.f64 y z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (-.f64 y z)) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) t)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) t)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) t)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (cbrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (cbrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (cbrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (cbrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) t) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) t) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 y z)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 y z)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 y z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 y z)) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) t)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) x)) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) t) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) t) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 y z) x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) (-.f64 y z) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) (-.f64 y z) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) (-.f64 y z) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 y z)) x (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (-.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (fma.f64 x (-.f64 y z) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (-.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 y z) x))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (-.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x)) (*.f64 (-.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2)) (cbrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 y z) x))) (sqrt.f64 (*.f64 (-.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) -1) x (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (*.f64 (-.f64 y z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (*.f64 (-.f64 y z) t)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 y z) t x) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t)))) (/.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 y z) (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) 2) (cbrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (-.f64 y z) (+.f64 x t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (-.f64 y z) (+.f64 x t) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3)) (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (-.f64 y z) (+.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (-.f64 y z) (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2)) (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (-.f64 y z) (+.f64 x t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (-.f64 y z) t x) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (fma.f64 (fma.f64 (-.f64 y z) t x) (fma.f64 (-.f64 y z) t x) (-.f64 (pow.f64 (*.f64 (-.f64 y z) x) 2) (*.f64 (fma.f64 (-.f64 y z) t x) (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 x x)) (fma.f64 (-.f64 y z) (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (fma.f64 (-.f64 y z) t x) (fma.f64 (-.f64 y z) t x) (pow.f64 (*.f64 (-.f64 y z) x) 2)) (fma.f64 (-.f64 y z) (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 (-.f64 y z) (+.f64 x t)) (fma.f64 (-.f64 y z) (+.f64 x t) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 y z) (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 y z)) (+.f64 x t)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 y z)) (+.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 y z) t x)) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z))) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 y z) t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 y z)) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (-.f64 y z)) (exp.f64 (fma.f64 (-.f64 y z) t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x))) (exp.f64 (fma.f64 (-.f64 y z) t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (-.f64 y z)) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x))) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 y z)) (+.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) (+.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 t) (-.f64 y z)) (pow.f64 (exp.f64 x) (-.f64 y z))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z))) (pow.f64 (exp.f64 x) (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (-.f64 y z) t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 t) (-.f64 y z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 y z) (+.f64 x t) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) x (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) t (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y z) (+.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (-.f64 y z) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -1 (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) x) 1 (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (-.f64 y z) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) t) 1 (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) t) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 y z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (-.f64 y z) t x) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (/.f64 1 (*.f64 (-.f64 y z) (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (-.f64 y z)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x)) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (-.f64 y z)) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) t)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 y z) t) 2)) (cbrt.f64 (*.f64 (-.f64 y z) t)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) 2) (cbrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 y z) x)) 2) (cbrt.f64 (*.f64 (-.f64 y z) x)) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) t) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (*.f64 (cbrt.f64 (-.f64 y z)) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 y z)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x)) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 y z)) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) t)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) x)) (sqrt.f64 (*.f64 (-.f64 y z) x)) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) t) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 y z)) (*.f64 (sqrt.f64 (-.f64 y z)) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y z) t) 3) (pow.f64 (*.f64 (-.f64 y z) x) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 y z) (+.f64 x t)) 2) (*.f64 (*.f64 (*.f64 (-.f64 y z) t) x) (-.f64 y z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 x (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 y z) x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) (-.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (-.f64 y z) t x) 1 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) t x)) (cbrt.f64 (fma.f64 (-.f64 y z) t x))) (cbrt.f64 (fma.f64 (-.f64 y z) t x)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (-.f64 y z) t x)) (sqrt.f64 (fma.f64 (-.f64 y z) t x)) (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 y z)) x (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) (-.f64 (sqrt.f64 (*.f64 (-.f64 y z) t)) (sqrt.f64 (*.f64 (-.f64 y z) x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (fma.f64 (-.f64 y z) x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 y z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 y z) -1) x (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 y z)) 2)) (cbrt.f64 (-.f64 y z)) (fma.f64 (-.f64 y z) t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (-.f64 y z))) (sqrt.f64 (-.f64 y z)) (fma.f64 (-.f64 y z) t x)))))) |
| 1× | egg-herbie |
| 2388× | fma-neg_binary64 |
| 861× | fma-def_binary64 |
| 557× | sub-neg_binary64 |
| 531× | associate-+l-_binary64 |
| 494× | unsub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 2350 |
| 1 | 211 | 1843 |
| 2 | 540 | 1481 |
| 3 | 1517 | 1409 |
| 4 | 3853 | 1409 |
| 5 | 4701 | 1409 |
| 6 | 4942 | 1409 |
| 7 | 4954 | 1409 |
| 8 | 4954 | 1409 |
| 9 | 5589 | 1409 |
| 10 | 5980 | 1409 |
| 11 | 5980 | 1409 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(*.f64 (+.f64 t (*.f64 -1 x)) y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(*.f64 (+.f64 t (*.f64 -1 x)) y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
| Outputs |
|---|
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 x y)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 x y)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 x y)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(fma.f64 -1 (*.f64 z t) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 z x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 (+.f64 t (*.f64 -1 x)) y) |
(*.f64 y (+.f64 t (neg.f64 x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 (+.f64 t (*.f64 -1 x)) y))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) |
(*.f64 y (+.f64 t (neg.f64 x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 y (+.f64 t (neg.f64 x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(fma.f64 -1 (*.f64 z t) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 -1 (*.f64 (-.f64 y z) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x (*.f64 y (+.f64 t (neg.f64 x))))) |
(fma.f64 z (-.f64 x t) (*.f64 y (-.f64 t x))) |
(*.f64 (-.f64 y z) (-.f64 t x)) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 z t) (fma.f64 z x x)) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 (+.f64 t (*.f64 -1 x)) y) |
(*.f64 y (+.f64 t (neg.f64 x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) |
(*.f64 y (+.f64 t (neg.f64 x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y t (fma.f64 -1 (*.f64 x y) x)) |
(fma.f64 y (-.f64 t x) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(fma.f64 -1 (*.f64 z t) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x) |
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) |
(-.f64 x (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 t (-.f64 y z)) |
(fma.f64 -1 (*.f64 z t) (*.f64 y t)) |
(*.f64 (-.f64 y z) t) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x)) |
(fma.f64 t (-.f64 y z) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))) |
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 y z))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 t (-.f64 y z)) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (*.f64 t (-.f64 y z)) |
| 1.0ms | t | @ | 0 | (*.f64 t (-.f64 y z)) |
| 1.0ms | y | @ | 0 | (*.f64 t (-.f64 y z)) |
| 1.0ms | t | @ | inf | (*.f64 t (-.f64 y z)) |
| 0.0ms | y | @ | -inf | (*.f64 t (-.f64 y z)) |
| 1× | batch-egg-rewrite |
| 725× | pow1_binary64 |
| 672× | add-log-exp_binary64 |
| 672× | log1p-expm1-u_binary64 |
| 672× | expm1-log1p-u_binary64 |
| 657× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 129 | 7 |
| 2 | 1784 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 t (-.f64 y z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y t) (*.f64 (neg.f64 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t y) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) t) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 z z)) t) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 y y (*.f64 z (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (-.f64 (*.f64 y y) (*.f64 z z))) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (-.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (-.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (-.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (-.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (-.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (-.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 t 3) (pow.f64 (-.f64 y z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 t 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (-.f64 y z)))))))) |
| 1× | egg-herbie |
| 217× | fma-def_binary64 |
| 132× | fma-neg_binary64 |
| 43× | cancel-sign-sub-inv_binary64 |
| 25× | distribute-rgt-in_binary64 |
| 25× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 228 |
| 1 | 17 | 210 |
| 2 | 35 | 156 |
| 3 | 58 | 156 |
| 4 | 86 | 156 |
| 5 | 138 | 156 |
| 6 | 254 | 156 |
| 7 | 410 | 156 |
| 8 | 579 | 156 |
| 9 | 733 | 156 |
| 10 | 747 | 156 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(-.f64 (*.f64 t y) (*.f64 t z)) |
(*.f64 t (-.f64 y z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 t x) y) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | inf | (*.f64 (-.f64 t x) y) |
| 1.0ms | y | @ | inf | (*.f64 (-.f64 t x) y) |
| 1.0ms | t | @ | -inf | (*.f64 (-.f64 t x) y) |
| 1.0ms | y | @ | 0 | (*.f64 (-.f64 t x) y) |
| 1.0ms | t | @ | 0 | (*.f64 (-.f64 t x) y) |
| 1× | batch-egg-rewrite |
| 725× | pow1_binary64 |
| 672× | add-log-exp_binary64 |
| 672× | log1p-expm1-u_binary64 |
| 672× | expm1-log1p-u_binary64 |
| 657× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 129 | 7 |
| 2 | 1784 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 t x) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t y) (*.f64 (neg.f64 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y t) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 t x) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) y) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 t t (*.f64 x (+.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 t x) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 t x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) y))))))) |
| 1× | egg-herbie |
| 202× | fma-def_binary64 |
| 124× | fma-neg_binary64 |
| 43× | cancel-sign-sub-inv_binary64 |
| 35× | distribute-rgt-in_binary64 |
| 26× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 330 |
| 1 | 22 | 240 |
| 2 | 40 | 240 |
| 3 | 61 | 240 |
| 4 | 92 | 240 |
| 5 | 158 | 240 |
| 6 | 287 | 240 |
| 7 | 420 | 240 |
| 8 | 598 | 240 |
| 9 | 736 | 240 |
| 10 | 748 | 240 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 y t) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x))) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
(*.f64 y (-.f64 t x)) |
(fma.f64 y t (neg.f64 (*.f64 y x))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 z (-.f64 x t)) |
| ✓ | 0.0b | (+.f64 x (*.f64 z (-.f64 x t))) |
Compiled 22 to 7 computations (68.2% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | z | @ | -inf | (+.f64 x (*.f64 z (-.f64 x t))) |
| 1.0ms | z | @ | inf | (+.f64 x (*.f64 z (-.f64 x t))) |
| 1.0ms | x | @ | -inf | (+.f64 x (*.f64 z (-.f64 x t))) |
| 1.0ms | x | @ | 0 | (+.f64 x (*.f64 z (-.f64 x t))) |
| 1.0ms | x | @ | inf | (+.f64 x (*.f64 z (-.f64 x t))) |
| 1× | batch-egg-rewrite |
| 968× | pow1_binary64 |
| 900× | add-log-exp_binary64 |
| 900× | log1p-expm1-u_binary64 |
| 900× | expm1-log1p-u_binary64 |
| 87× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 17 |
| 1 | 158 | 15 |
| 2 | 2369 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 z (-.f64 x t))) |
(*.f64 z (-.f64 x t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (-.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (-.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (-.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x t) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (-.f64 x t))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 (neg.f64 t) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 x t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 t 3)) z) (fma.f64 x x (*.f64 t (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 t t)) z) (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 x 3) (pow.f64 t 3))) (fma.f64 x x (*.f64 t (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 x x) (*.f64 t t))) (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 x t)))))))) |
| 1× | egg-herbie |
| 353× | fma-def_binary64 |
| 263× | fma-neg_binary64 |
| 60× | cancel-sign-sub-inv_binary64 |
| 50× | distribute-rgt-in_binary64 |
| 50× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 528 |
| 1 | 62 | 420 |
| 2 | 134 | 420 |
| 3 | 285 | 420 |
| 4 | 562 | 420 |
| 5 | 1025 | 420 |
| 6 | 1333 | 420 |
| 7 | 1388 | 420 |
| 8 | 1389 | 420 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
x |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 (+.f64 1 z) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
x |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 t x) (neg.f64 z)) |
| ✓ | 0.0b | (+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))) |
| 0.0b | (*.f64 (-.f64 t x) y) | |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
Compiled 50 to 10 computations (80% saved)
33 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | -inf | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
| 1.0ms | t | @ | inf | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
| 1.0ms | z | @ | 0 | (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
| 1× | batch-egg-rewrite |
| 692× | fma-def_binary64 |
| 633× | log-prod_binary64 |
| 374× | fma-neg_binary64 |
| 224× | pow1/3_binary64 |
| 224× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 257 | 28 |
| 2 | 4085 | 28 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z))) |
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))) |
(*.f64 (-.f64 t x) (neg.f64 z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 t x) (+.f64 y z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2) (*.f64 (-.f64 t x) (+.f64 y z))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 t x) (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y z) (-.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))) (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) (neg.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (pow.f64 (*.f64 (-.f64 t x) y) 2)) (-.f64 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) (+.f64 y z)) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (+.f64 y z)) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))) (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (pow.f64 (exp.f64 y) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) z) 1 (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1 (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y z)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 t x) z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 t x)) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 z (-.f64 t x) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (-.f64 t x) z))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)) (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) -1) z (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))) (cbrt.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 t x) z))) (sqrt.f64 (*.f64 (-.f64 t x) z)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))) (/.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 t x) (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2) (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3)) (/.f64 1 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) (/.f64 1 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3)) (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2)) (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))) (neg.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))) (neg.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (-.f64 t x) y x) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (fma.f64 (fma.f64 (-.f64 t x) y x) (fma.f64 (-.f64 t x) y x) (-.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2) (*.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 x x)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (fma.f64 (-.f64 t x) y x) (fma.f64 (-.f64 t x) y x) (pow.f64 (*.f64 (-.f64 t x) z) 2)) (fma.f64 (-.f64 t x) (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) (fma.f64 (-.f64 t x) (+.f64 y z) (neg.f64 x)) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (-.f64 t x) (+.f64 y z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (exp.f64 (fma.f64 (-.f64 t x) y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (exp.f64 (fma.f64 (-.f64 t x) y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 t x)) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 t x)) (+.f64 y z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) (+.f64 y z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 t x)) (pow.f64 (exp.f64 z) (-.f64 t x))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (pow.f64 (exp.f64 z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (-.f64 t x) y x)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 y) (-.f64 t x))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 t x) (+.f64 y z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) y (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 t x) (+.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 t x) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) y) 1 (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 t x) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) z) 1 (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 t x) (+.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (/.f64 1 (*.f64 (-.f64 t x) (+.f64 y z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2)) (cbrt.f64 (*.f64 (-.f64 t x) z)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) y)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) y) 2)) (cbrt.f64 (*.f64 (-.f64 t x) y)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) 2) (cbrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (*.f64 (cbrt.f64 (-.f64 t x)) (+.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) (sqrt.f64 (*.f64 (-.f64 t x) z)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) y)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 t x) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) (sqrt.f64 (*.f64 (-.f64 t x) (+.f64 y z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (+.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (-.f64 t x) y) 3) (pow.f64 (*.f64 (-.f64 t x) z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 (-.f64 t x) (+.f64 y z)) 2) (*.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (-.f64 t x) z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y z) (-.f64 t x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (-.f64 t x) y x) 1 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 t x) y x)) (cbrt.f64 (fma.f64 (-.f64 t x) y x))) (cbrt.f64 (fma.f64 (-.f64 t x) y x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (-.f64 t x) y x)) (sqrt.f64 (fma.f64 (-.f64 t x) y x)) (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 t x)) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) (-.f64 (sqrt.f64 (*.f64 (-.f64 t x) y)) (sqrt.f64 (*.f64 (-.f64 t x) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) -1) z (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 t x) (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 t x)) 2)) (cbrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 t x))) (sqrt.f64 (-.f64 t x)) (fma.f64 (-.f64 t x) z x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t z) (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x))) (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 t x) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 t 3) (pow.f64 x 3)) z) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) z) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 t 3) (pow.f64 x 3))) (fma.f64 x (+.f64 t x) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 x x))) (+.f64 t x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 t x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 t x) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 t x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 t x) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 t x) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (-.f64 t x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 t x) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 t x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 t x) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 z (neg.f64 x))))))) |
| 1× | egg-herbie |
| 2842× | fma-neg_binary64 |
| 470× | fma-def_binary64 |
| 460× | associate-+l-_binary64 |
| 446× | sub-neg_binary64 |
| 372× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 1989 |
| 1 | 206 | 1715 |
| 2 | 556 | 1169 |
| 3 | 1629 | 1169 |
| 4 | 3907 | 1169 |
| 5 | 4976 | 1169 |
| 6 | 5185 | 1169 |
| 7 | 5209 | 1169 |
| 8 | 5209 | 1169 |
| 9 | 5646 | 1169 |
| 10 | 5758 | 1169 |
| 11 | 5758 | 1169 |
| 12 | 7984 | 1169 |
| 13 | 7984 | 1169 |
| 14 | 7984 | 1169 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(*.f64 (+.f64 z (*.f64 -1 y)) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
| Outputs |
|---|
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (*.f64 -1 (*.f64 y x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 (+.f64 z (*.f64 -1 y)) x) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z (*.f64 -1 y)) x) (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)) |
(fma.f64 z x (neg.f64 (*.f64 x y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) y) x)))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x))) |
(fma.f64 z x (fma.f64 t (fma.f64 -1 z y) (neg.f64 (*.f64 x y)))) |
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) |
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 (+.f64 z (*.f64 -1 y))) x) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) |
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (+.f64 (*.f64 -1 z) y) 1) x)) (*.f64 y t))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 (+.f64 z (neg.f64 y)) 1)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (+.f64 (*.f64 -1 z) y)) (+.f64 (*.f64 -1 (*.f64 y x)) x))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 t (fma.f64 -1 z y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x) |
(fma.f64 -1 (*.f64 z (-.f64 t x)) x) |
(-.f64 x (*.f64 z (-.f64 t x))) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x)) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 y (-.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 y (-.f64 t x)) x) |
(fma.f64 y (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x)))) |
(fma.f64 -1 (*.f64 z t) (fma.f64 (+.f64 (+.f64 z (neg.f64 y)) 1) x (*.f64 y t))) |
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 x y)))) |
(fma.f64 (-.f64 t x) (-.f64 y z) x) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 z t)) |
(*.f64 z (neg.f64 t)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 z t)) |
(*.f64 z (neg.f64 t)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 z t)) |
(*.f64 z (neg.f64 t)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 z (-.f64 t x))) |
(*.f64 (neg.f64 z) (-.f64 t x)) |
(*.f64 z (neg.f64 (-.f64 t x))) |
(*.f64 z (-.f64 x t)) |
Compiled 15530 to 3534 computations (77.2% saved)
13 alts after pruning (10 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 825 | 10 | 835 |
| Fresh | 4 | 0 | 4 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 3 | 4 |
| Total | 831 | 13 | 844 |
| Status | Error | Program |
|---|---|---|
| 49.7b | x | |
| ▶ | 52.0b | (*.f64 x (neg.f64 y)) |
| ▶ | 25.1b | (+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
| ▶ | 41.3b | (*.f64 (+.f64 1 z) x) |
| ✓ | 38.0b | (*.f64 (-.f64 t x) y) |
| 46.5b | (*.f64 t (neg.f64 z)) | |
| 49.3b | (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x)) | |
| ▶ | 48.7b | (*.f64 y t) |
| 37.9b | (*.f64 z (-.f64 x t)) | |
| 30.5b | (+.f64 x (*.f64 x (-.f64 z y))) | |
| ▶ | 32.6b | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| ✓ | 25.1b | (+.f64 x (*.f64 z (-.f64 x t))) |
| ✓ | 32.6b | (*.f64 t (-.f64 y z)) |
Compiled 224 to 151 computations (32.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
| ✓ | 0.0b | (+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
Compiled 34 to 9 computations (73.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
| 1.0ms | x | @ | 0 | (+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
| 1.0ms | z | @ | 0 | (+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
| 1.0ms | t | @ | 0 | (+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
| 1.0ms | z | @ | 0 | (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
| 1× | batch-egg-rewrite |
| 544× | fma-def_binary64 |
| 506× | log-prod_binary64 |
| 403× | pow-prod-down_binary64 |
| 309× | fma-neg_binary64 |
| 254× | pow2_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 21 |
| 1 | 208 | 15 |
| 2 | 3261 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (+.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (+.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x)) (sqrt.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2)) (-.f64 x (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))) (neg.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x z x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 x z x) 2) (-.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 x z x) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (+.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x z x) 2) (pow.f64 (*.f64 z t) 2)) (fma.f64 z (+.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (+.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (+.f64 x t)) (-.f64 (*.f64 z (+.f64 x t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 x t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 z (+.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 x t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 x z x)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 x z x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (exp.f64 (fma.f64 x z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (exp.f64 (fma.f64 x z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 x) (+.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x z x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (+.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (+.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (+.f64 x t) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (+.f64 x t) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (+.f64 x t) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (+.f64 x t) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (cbrt.f64 (*.f64 z t)) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.f64 x z)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x z x) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x z x)) 2) (cbrt.f64 (fma.f64 x z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x z x)) (sqrt.f64 (fma.f64 x z x)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z -1) t (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 x z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 x z x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 x t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x z) 2) (*.f64 z (+.f64 x t))) (/.f64 (pow.f64 (*.f64 z t) 2) (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x t) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (*.f64 z (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2)) (neg.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 z t) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t)))) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 z (+.f64 x t))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 x z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 x t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (+.f64 x t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (+.f64 x t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 z (+.f64 x t)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 x t) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1 (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 x t)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 x t))) 2) (cbrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (cbrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.f64 x z)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.f64 x z)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x z) 2)) (cbrt.f64 (*.f64 x z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 x t))) (sqrt.f64 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x t)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 z (+.f64 x t)) 2) (*.f64 x (*.f64 z (*.f64 z t))))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x t) z (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 t z (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (cbrt.f64 (pow.f64 (*.f64 z t) 2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 z t) 2))) (cbrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z -1) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 x z)))))) |
| 1× | egg-herbie |
| 343× | fma-def_binary64 |
| 256× | fma-neg_binary64 |
| 59× | cancel-sign-sub-inv_binary64 |
| 54× | unsub-neg_binary64 |
| 45× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 644 |
| 1 | 79 | 504 |
| 2 | 169 | 504 |
| 3 | 349 | 504 |
| 4 | 696 | 504 |
| 5 | 1102 | 504 |
| 6 | 1267 | 504 |
| 7 | 1292 | 504 |
| 8 | 1293 | 504 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
x |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 (+.f64 1 z) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
x |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (+.f64 (*.f64 -1 t) x) z) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (fma.f64 -1 t x)) |
(*.f64 z (-.f64 x t)) |
Compiled 9 to 5 computations (44.4% saved)
Compiled 12 to 6 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 1 z) x) |
Compiled 15 to 10 computations (33.3% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 1× | batch-egg-rewrite |
| 604× | pow1_binary64 |
| 560× | add-log-exp_binary64 |
| 560× | log1p-expm1-u_binary64 |
| 560× | expm1-log1p-u_binary64 |
| 549× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 121 | 7 |
| 2 | 1520 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 z) (log.f64 x))))))) |
| 1× | egg-herbie |
| 14× | fma-def_binary64 |
| 4× | associate-*r*_binary64 |
| 4× | associate-*l*_binary64 |
| 3× | *-lft-identity_binary64 |
| 3× | *-rgt-identity_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 54 |
| 1 | 11 | 54 |
| 2 | 16 | 54 |
| 3 | 22 | 54 |
| 4 | 28 | 54 |
| 5 | 41 | 54 |
| 6 | 45 | 54 |
| 7 | 47 | 54 |
| 1× | saturated |
| Inputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
| Outputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(fma.f64 x z x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
Compiled 24 to 8 computations (66.7% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | y | @ | -inf | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| 1.0ms | t | @ | inf | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| 1.0ms | t | @ | -inf | (+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| 1× | batch-egg-rewrite |
| 835× | pow1_binary64 |
| 773× | add-log-exp_binary64 |
| 772× | log1p-expm1-u_binary64 |
| 772× | expm1-log1p-u_binary64 |
| 756× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 9 |
| 1 | 176 | 7 |
| 2 | 2563 | 7 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y t) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t (+.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y t) 2) (*.f64 t (+.f64 y z))) (/.f64 (pow.f64 (*.f64 t z) 2) (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (+.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (/.f64 1 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t (+.f64 y z))) (cbrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)) (cbrt.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 t (+.f64 y z))) (sqrt.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y z) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 t z))) (-.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))) (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 t (+.f64 y z)) (pow.f64 (*.f64 t (+.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 t (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 y t) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2)) (neg.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y t) 3) (pow.f64 (*.f64 t z) 3)) (-.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2) (*.f64 (*.f64 y t) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 y t) 2)) (-.f64 (*.f64 t z) (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (+.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (+.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (+.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (+.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y t (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t y (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y t) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y t)) 2) (cbrt.f64 (*.f64 y t)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 y t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y t)) (sqrt.f64 (*.f64 y t)) (*.f64 t z)))))) |
| 1× | egg-herbie |
| 160× | fma-def_binary64 |
| 110× | fma-neg_binary64 |
| 31× | unsub-neg_binary64 |
| 30× | cancel-sign-sub-inv_binary64 |
| 27× | associate-*r*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 360 |
| 1 | 46 | 240 |
| 2 | 102 | 240 |
| 3 | 190 | 240 |
| 4 | 328 | 240 |
| 5 | 512 | 240 |
| 6 | 626 | 240 |
| 7 | 667 | 240 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(*.f64 y t) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 t (+.f64 (*.f64 -1 z) y)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y)))) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 y t) |
(*.f64 t y) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 z (neg.f64 t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t)) |
(fma.f64 -1 (*.f64 t z) (*.f64 t y)) |
(*.f64 t (-.f64 y z)) |
Compiled 5047 to 1476 computations (70.8% saved)
14 alts after pruning (8 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 347 | 4 | 351 |
| Fresh | 1 | 4 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 6 | 7 |
| Total | 350 | 14 | 364 |
| Status | Error | Program |
|---|---|---|
| 49.7b | x | |
| ✓ | 52.0b | (*.f64 x (neg.f64 y)) |
| ✓ | 41.3b | (*.f64 (+.f64 1 z) x) |
| ✓ | 38.0b | (*.f64 (-.f64 t x) y) |
| ▶ | 25.1b | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| ▶ | 53.9b | (*.f64 z x) |
| ✓ | 48.7b | (*.f64 y t) |
| ▶ | 37.9b | (*.f64 z (-.f64 x t)) |
| ▶ | 30.5b | (+.f64 x (*.f64 x (-.f64 z y))) |
| ✓ | 25.1b | (+.f64 x (*.f64 z (-.f64 x t))) |
| 49.3b | (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x)) | |
| ▶ | 46.5b | (*.f64 z (neg.f64 t)) |
| ✓ | 32.6b | (*.f64 t (-.f64 y z)) |
| 32.6b | (-.f64 (*.f64 y t) (*.f64 t z)) |
Compiled 210 to 139 computations (33.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x z) (*.f64 z t)) |
| ✓ | 0.0b | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
Compiled 29 to 8 computations (72.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| 0.0ms | z | @ | -inf | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| 0.0ms | z | @ | 0 | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| 0.0ms | t | @ | -inf | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| 0.0ms | x | @ | -inf | (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
| 1× | batch-egg-rewrite |
| 680× | fma-def_binary64 |
| 517× | log-prod_binary64 |
| 378× | pow-prod-down_binary64 |
| 325× | fma-neg_binary64 |
| 266× | pow2_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 23 |
| 1 | 192 | 17 |
| 2 | 2904 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
(-.f64 (*.f64 x z) (*.f64 z t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (-.f64 (*.f64 z t) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x z x) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z (-.f64 x t)))) (/.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 x t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (-.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) (neg.f64 (-.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x z x) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (fma.f64 x z x) 2) (+.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (fma.f64 x z x) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x z x) 2) (pow.f64 (*.f64 z t) 2)) (+.f64 (fma.f64 x z x) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (*.f64 x x)) (-.f64 (*.f64 z (-.f64 x t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 x t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 z (-.f64 x t))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 x z x)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 z) (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 x t)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (-.f64 x t) x)) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 x t) x))) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x z x)) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x z x)) (pow.f64 (exp.f64 t) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 x t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 x t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 x t) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 x t) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 1 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (-.f64 x t) x) 1 (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (-.f64 x t) x) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x z x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 x t) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 x t) x)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (sqrt.f64 (fma.f64 z (-.f64 x t) x)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (-.f64 x t)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (-.f64 x t)) (-.f64 (*.f64 z (-.f64 x t)) x)))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (-.f64 x t)) 2)) (/.f64 1 (-.f64 x (*.f64 z (-.f64 x t)))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x z x)) 2) (cbrt.f64 (fma.f64 x z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x z x)) (sqrt.f64 (fma.f64 x z x)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z 1) x (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (neg.f64 z)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 x t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2)) (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 z (+.f64 x t)) (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (*.f64 z (+.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2))) (neg.f64 (*.f64 z (+.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 t (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 t (neg.f64 z)) 2) (*.f64 (*.f64 x z) (*.f64 t (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (-.f64 (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 2) (*.f64 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 t (neg.f64 z)) 2)) (-.f64 (*.f64 x z) (*.f64 t (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) (pow.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 2)) (-.f64 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2)) (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 z (+.f64 x t)) (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (exp.f64 (*.f64 t (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 t) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t)))) (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (pow.f64 (exp.f64 z) (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 x t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 t (neg.f64 z))) (pow.f64 (exp.f64 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 t (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) (neg.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 x t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 x t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (-.f64 x t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (-.f64 x t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (-.f64 x t)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 x t) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x z) 1 (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (neg.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (-.f64 x t)) 1 (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 x t)) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (neg.f64 t) (*.f64 z t)) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t (neg.f64 z)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (neg.f64 (cbrt.f64 (*.f64 z t))) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 x t))) 2) (cbrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (neg.f64 (sqrt.f64 (*.f64 z t))) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 x t))) (sqrt.f64 (*.f64 z (-.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 t) z (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (fma.f64 (*.f64 z t) (*.f64 z (+.f64 x t)) (pow.f64 (*.f64 x z) 2))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (*.f64 z (+.f64 x t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t (neg.f64 z))) 2) (cbrt.f64 (*.f64 t (neg.f64 z))) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) 2) (cbrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t (neg.f64 z))) (sqrt.f64 (*.f64 t (neg.f64 z))) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (sqrt.f64 (fma.f64 z (neg.f64 t) (*.f64 z t))) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z t))) (sqrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 z (neg.f64 t) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 (*.f64 t (neg.f64 z)) 1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z t))) (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (*.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (-.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 z t))) (+.f64 (fma.f64 z (neg.f64 t) (*.f64 z t)) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2)) (cbrt.f64 (*.f64 z t)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) t (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 t)) (sqrt.f64 t) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 t (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z t) (fma.f64 z (neg.f64 t) (*.f64 z t))))))))) |
| 1× | egg-herbie |
| 248× | fma-def_binary64 |
| 216× | fma-neg_binary64 |
| 59× | unsub-neg_binary64 |
| 47× | distribute-rgt-in_binary64 |
| 42× | cancel-sign-sub-inv_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 612 |
| 1 | 85 | 504 |
| 2 | 185 | 504 |
| 3 | 423 | 504 |
| 4 | 852 | 504 |
| 5 | 1102 | 504 |
| 6 | 1144 | 504 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
x |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 (+.f64 1 z) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
x |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z (-.f64 x t)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) x) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x)) |
(fma.f64 -1 (*.f64 t z) (fma.f64 z x x)) |
(fma.f64 z (-.f64 x t) x) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 t)) z)) |
(*.f64 z (-.f64 x t)) |
(*.f64 z x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 (neg.f64 t) z) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x)) |
(*.f64 z (-.f64 x t)) |
Compiled 9 to 5 computations (44.4% saved)
Compiled 12 to 6 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 z (-.f64 x t)) |
Compiled 15 to 6 computations (60% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 x (-.f64 z y))) |
| ✓ | 0.0b | (*.f64 x (-.f64 z y)) |
Compiled 22 to 7 computations (68.2% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (*.f64 x (-.f64 z y)) |
| 1.0ms | x | @ | inf | (*.f64 x (-.f64 z y)) |
| 1.0ms | x | @ | inf | (+.f64 x (*.f64 x (-.f64 z y))) |
| 1.0ms | x | @ | -inf | (*.f64 x (-.f64 z y)) |
| 1.0ms | z | @ | inf | (*.f64 x (-.f64 z y)) |
| 1× | batch-egg-rewrite |
| 974× | pow1_binary64 |
| 906× | add-log-exp_binary64 |
| 906× | log1p-expm1-u_binary64 |
| 906× | expm1-log1p-u_binary64 |
| 88× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 17 |
| 1 | 159 | 15 |
| 2 | 2406 | 15 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (-.f64 z y)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 (neg.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 z z (*.f64 y (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z z) (*.f64 y y)) x) (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 z z (*.f64 y (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (*.f64 z z) (*.f64 y y))) (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (-.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (-.f64 z y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (-.f64 z y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x (-.f64 z y)))) (/.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (-.f64 z y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (-.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (-.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 2) (cbrt.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (-.f64 z y) x)) (sqrt.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2)) (/.f64 1 (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 z y) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 x (-.f64 z y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3)) (+.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x x) (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2)) (-.f64 x (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (-.f64 z y)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 x (-.f64 z y)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x (-.f64 z y)) 2))) (neg.f64 (-.f64 x (*.f64 x (-.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) (*.f64 x x)) (-.f64 (*.f64 x (-.f64 z y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (-.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (-.f64 z y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (-.f64 z y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (-.f64 z y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (-.f64 z y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (-.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (-.f64 z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z y) x x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 x (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (-.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 2) (cbrt.f64 (*.f64 x (-.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) (sqrt.f64 (*.f64 x (-.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (-.f64 z y))))))) |
| 1× | egg-herbie |
| 620× | fma-def_binary64 |
| 243× | fma-neg_binary64 |
| 110× | distribute-rgt-in_binary64 |
| 103× | unsub-neg_binary64 |
| 101× | distribute-lft-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 573 |
| 1 | 62 | 572 |
| 2 | 138 | 512 |
| 3 | 322 | 512 |
| 4 | 708 | 512 |
| 5 | 1427 | 512 |
| 6 | 1955 | 512 |
| 7 | 1959 | 512 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
| Outputs |
|---|
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 z y) x) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(+.f64 (*.f64 z x) (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 z y) x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 (-.f64 (+.f64 1 z) y) x) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (-.f64 z y)) 1) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(fma.f64 -1 (*.f64 y x) x) |
(-.f64 x (*.f64 y x)) |
(*.f64 x (-.f64 1 y)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) x) |
(fma.f64 z x x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x)) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(*.f64 -1 (*.f64 y x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 y (neg.f64 x)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 x (+.f64 1 (-.f64 z y))) |
(+.f64 x (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x x) |
Compiled 6548 to 1693 computations (74.1% saved)
15 alts after pruning (5 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 403 | 3 | 406 |
| Fresh | 1 | 2 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 9 | 10 |
| Total | 405 | 15 | 420 |
| Status | Error | Program |
|---|---|---|
| 39.0b | (*.f64 x (-.f64 1 y)) | |
| ✓ | 48.7b | (*.f64 y t) |
| ✓ | 41.3b | (*.f64 (+.f64 1 z) x) |
| ✓ | 38.0b | (*.f64 (-.f64 t x) y) |
| ✓ | 25.1b | (+.f64 x (*.f64 z (-.f64 x t))) |
| 49.7b | x | |
| 37.9b | (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) | |
| ✓ | 32.6b | (*.f64 t (-.f64 y z)) |
| ✓ | 37.9b | (*.f64 z (-.f64 x t)) |
| ✓ | 52.0b | (*.f64 x (neg.f64 y)) |
| ✓ | 30.5b | (+.f64 x (*.f64 x (-.f64 z y))) |
| ✓ | 53.9b | (*.f64 z x) |
| 49.3b | (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x)) | |
| ✓ | 46.5b | (*.f64 z (neg.f64 t)) |
| 32.6b | (-.f64 (*.f64 y t) (*.f64 t z)) |
Compiled 142 to 97 computations (31.7% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x)) |
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))) |
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
(+.f64 x (/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) (-.f64 y z)) (+.f64 t x))) |
(fma.f64 (-.f64 y z) (-.f64 t x) x) |
| Outputs |
|---|
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
6 calls:
| 78.0ms | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| 51.0ms | (-.f64 y z) |
| 34.0ms | y |
| 30.0ms | x |
| 29.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| 0.0b | 1 | (-.f64 y z) |
Compiled 241 to 92 computations (61.8% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(+.f64 x (+.f64 (*.f64 z x) (*.f64 z (neg.f64 t)))) |
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 x x)) y) (+.f64 t x)) |
(+.f64 x (+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (neg.f64 z)))) |
| Outputs |
|---|
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
6 calls:
| 16.0ms | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| 16.0ms | t |
| 15.0ms | (-.f64 y z) |
| 15.0ms | z |
| 14.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
| 0.0b | 1 | (-.f64 y z) |
Compiled 202 to 83 computations (58.9% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x) |
| Outputs |
|---|
(*.f64 (-.f64 t x) y) |
(+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) |
(*.f64 (-.f64 t x) y) |
6 calls:
| 119.0ms | x |
| 118.0ms | (-.f64 y z) |
| 111.0ms | (-.f64 y z) |
| 68.0ms | z |
| 31.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 12.2b | 8 | x |
| 8.5b | 3 | y |
| 17.1b | 6 | z |
| 14.6b | 3 | t |
| 16.4b | 11 | (-.f64 y z) |
| 16.4b | 11 | (-.f64 y z) |
Compiled 150 to 68 computations (54.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 7.693514291710784e-5 | 0.0018098950664977615 |
| 59.0ms | -8.666483375536832e-26 | -3.991867256719067e-34 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(+.f64 (*.f64 z x) (*.f64 z (neg.f64 t))) |
(+.f64 (*.f64 y t) (*.f64 (neg.f64 z) t)) |
| Outputs |
|---|
(*.f64 (-.f64 t x) y) |
(+.f64 x (*.f64 z (-.f64 x t))) |
(*.f64 (-.f64 t x) y) |
6 calls:
| 496.0ms | (-.f64 y z) |
| 297.0ms | x |
| 129.0ms | (-.f64 y z) |
| 69.0ms | z |
| 65.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 12.2b | 8 | x |
| 8.6b | 3 | y |
| 17.1b | 6 | z |
| 14.6b | 3 | t |
| 16.4b | 11 | (-.f64 y z) |
| 16.4b | 11 | (-.f64 y z) |
Compiled 132 to 59 computations (55.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 7.693514291710784e-5 | 0.0018098950664977615 |
| 19.0ms | -8.666483375536832e-26 | -3.991867256719067e-34 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(+.f64 x (*.f64 x (-.f64 z y))) |
| Outputs |
|---|
(+.f64 x (*.f64 x (-.f64 z y))) |
(*.f64 t (-.f64 y z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
(*.f64 t (-.f64 y z)) |
(+.f64 x (*.f64 x (-.f64 z y))) |
6 calls:
| 266.0ms | z |
| 129.0ms | (-.f64 y z) |
| 102.0ms | (-.f64 y z) |
| 60.0ms | x |
| 49.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 13.4b | 5 | x |
| 18.1b | 6 | y |
| 17.4b | 6 | z |
| 14.6b | 3 | t |
| 20.7b | 9 | (-.f64 y z) |
| 20.7b | 9 | (-.f64 y z) |
Compiled 109 to 55 computations (49.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 3.359524365205439e-136 | 2.6074429311187954e-131 |
| 65.0ms | -2.0767996121179675e-130 | -1.1160440859916705e-155 |
| 20.0ms | -2.077501522938541e-76 | -1.2570543729249919e-79 |
| 22.0ms | -8.324210229537707e-5 | -1.4416153882673486e-14 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 t (-.f64 y z)) |
(-.f64 (*.f64 y t) (*.f64 t z)) |
| Outputs |
|---|
(*.f64 z (-.f64 x t)) |
(*.f64 t (-.f64 y z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (-.f64 t x) y) |
(*.f64 x (-.f64 1 y)) |
(*.f64 t (-.f64 y z)) |
(*.f64 z (-.f64 x t)) |
6 calls:
| 186.0ms | y |
| 182.0ms | (-.f64 y z) |
| 108.0ms | x |
| 91.0ms | z |
| 74.0ms | (-.f64 y z) |
| Error | Segments | Branch |
|---|---|---|
| 18.5b | 5 | x |
| 18.1b | 6 | y |
| 16.6b | 7 | z |
| 19.4b | 5 | t |
| 22.0b | 8 | (-.f64 y z) |
| 22.0b | 8 | (-.f64 y z) |
Compiled 95 to 52 computations (45.3% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 70.0ms | 1.3280408181975403e+83 | 1.4839378511603035e+85 |
| 25.0ms | 4.259444718528736e-52 | 6.932607426806193e-52 |
| 226.0ms | -1.8524732000887693e-251 | -7.931336033395818e-252 |
| 61.0ms | -5.111821802260853e-175 | -1.3955548632070793e-175 |
| 34.0ms | -5.190611572170201e-157 | -8.957886695410014e-162 |
| 88.0ms | -7.007981713237211e+35 | -2.1259619406245948e+29 |
Compiled 160 to 112 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
| Outputs |
|---|
(*.f64 z (-.f64 x t)) |
(*.f64 (-.f64 t x) y) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (-.f64 t x) y) |
(*.f64 x (-.f64 1 y)) |
(*.f64 z (-.f64 x t)) |
4 calls:
| 159.0ms | t |
| 131.0ms | z |
| 58.0ms | x |
| 54.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 23.5b | 8 | x |
| 19.3b | 4 | y |
| 18.5b | 7 | z |
| 23.1b | 14 | t |
Compiled 69 to 38 computations (44.9% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 49.0ms | 8578310779419896.0 | 40673261218141850.0 |
| 24.0ms | -7.23952892636311e-240 | -6.819103657292353e-248 |
| 20.0ms | -7.162361671172863e-175 | -5.111821802260853e-175 |
| 19.0ms | -1.5546354866815251e-117 | -1.7591617952321886e-131 |
| 20.0ms | -1.6270250635975512e-73 | -6.750541191287155e-74 |
| 18.0ms | -2.1259619406245948e+29 | -1.4350641942146056e+20 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 z (-.f64 x t)) |
(*.f64 z (-.f64 x t)) |
| Outputs |
|---|
(*.f64 z (-.f64 x t)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 z (-.f64 x t)) |
4 calls:
| 291.0ms | y |
| 268.0ms | t |
| 211.0ms | x |
| 74.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 24.8b | 11 | x |
| 27.0b | 8 | y |
| 21.4b | 3 | z |
| 25.9b | 11 | t |
Compiled 64 to 36 computations (43.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 38.0ms | 8578310779419896.0 | 40673261218141850.0 |
| 208.0ms | -2.0346825655335534e-53 | -2.258214842452422e-58 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
(*.f64 z (neg.f64 t)) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (-.f64 1 y)) |
(*.f64 z (neg.f64 t)) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
4 calls:
| 81.0ms | t |
| 56.0ms | x |
| 49.0ms | y |
| 19.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 28.2b | 7 | x |
| 29.2b | 6 | y |
| 29.7b | 3 | z |
| 27.6b | 9 | t |
Compiled 54 to 34 computations (37% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 1.1007889468099937e+241 | 7.867057228652307e+242 |
| 247.0ms | 4.259262790416976e+102 | 6.580252325450169e+109 |
| 21.0ms | 5.748772590044842e-59 | 1.9054845442530845e-54 |
| 51.0ms | 2.204735548068541e-244 | 2.9660136826509476e-241 |
| 21.0ms | -5.461477990130282e-198 | -2.1348063213376837e-198 |
| 22.0ms | -3.6285335236416727e-32 | -1.6512717905837643e-37 |
| 50.0ms | -87298855460230.84 | -1.1730037608848405e-9 |
| 101.0ms | -1.8945593984044976e+78 | -1.7340319299203074e+75 |
Compiled 428 to 326 computations (23.8% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
(*.f64 x (-.f64 1 y)) |
| Outputs |
|---|
(*.f64 x (-.f64 1 y)) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 z (neg.f64 t)) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (-.f64 1 y)) |
(*.f64 z x) |
(*.f64 x (-.f64 1 y)) |
4 calls:
| 108.0ms | t |
| 56.0ms | x |
| 48.0ms | y |
| 17.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 27.9b | 9 | x |
| 32.6b | 7 | y |
| 29.7b | 3 | z |
| 29.2b | 9 | t |
Compiled 49 to 31 computations (36.7% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 79.0ms | 6.146832043866018e+128 | 1.0348945972383388e+132 |
| 20.0ms | 471.834573214522 | 13225.619125454406 |
| 32.0ms | 3.359524365205439e-136 | 2.6074429311187954e-131 |
| 20.0ms | 1.3511552911379865e-245 | 3.258655783112782e-242 |
| 162.0ms | -6.002752192702717e-227 | -2.7378933525683195e-227 |
| 22.0ms | -2.0767996121179675e-130 | -1.1160440859916705e-155 |
| 50.0ms | -2.077501522938541e-76 | -1.2570543729249919e-79 |
| 24.0ms | -1.355287350729905e-26 | -1.5428936013530506e-32 |
Compiled 164 to 126 computations (23.2% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
(*.f64 x (neg.f64 y)) |
(*.f64 t (neg.f64 z)) |
| Outputs |
|---|
(*.f64 x (neg.f64 y)) |
(*.f64 y t) |
x |
(*.f64 z (neg.f64 t)) |
(*.f64 z x) |
(*.f64 z (neg.f64 t)) |
(*.f64 y t) |
(*.f64 x (neg.f64 y)) |
4 calls:
| 76.0ms | x |
| 61.0ms | y |
| 47.0ms | t |
| 24.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 34.1b | 11 | x |
| 32.0b | 8 | y |
| 35.4b | 4 | z |
| 35.2b | 9 | t |
Compiled 44 to 28 computations (36.4% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 77.0ms | 5.5317534080381914e+66 | 1.1385197172751729e+69 |
| 20.0ms | 3.21885575913646e-55 | 4.853712800785707e-54 |
| 21.0ms | 9.26121301564439e-69 | 5.220215900262221e-68 |
| 20.0ms | 7.455619268204242e-180 | 7.884756939766614e-178 |
| 19.0ms | -6.0856926281401236e-298 | -5.68201119375377e-298 |
| 25.0ms | -8.666483375536832e-26 | -3.991867256719067e-34 |
| 22.0ms | -9.905663060636218e+197 | -5.0423607219952796e+197 |
Compiled 207 to 157 computations (24.2% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
(*.f64 z (neg.f64 t)) |
| Outputs |
|---|
(*.f64 y t) |
x |
(*.f64 z (neg.f64 t)) |
(*.f64 z x) |
(*.f64 z (neg.f64 t)) |
(*.f64 y t) |
4 calls:
| 41.0ms | x |
| 35.0ms | t |
| 28.0ms | y |
| 17.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 34.9b | 9 | x |
| 34.5b | 6 | y |
| 35.4b | 4 | z |
| 37.0b | 8 | t |
Compiled 36 to 24 computations (33.3% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 3.21885575913646e-55 | 4.853712800785707e-54 |
| 19.0ms | 9.26121301564439e-69 | 5.220215900262221e-68 |
| 19.0ms | 7.455619268204242e-180 | 7.884756939766614e-178 |
| 20.0ms | -6.0856926281401236e-298 | -5.68201119375377e-298 |
| 19.0ms | -8.666483375536832e-26 | -3.991867256719067e-34 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
(*.f64 y t) |
| Outputs |
|---|
(*.f64 y t) |
x |
(*.f64 z x) |
(*.f64 y t) |
4 calls:
| 37.0ms | x |
| 30.0ms | y |
| 29.0ms | z |
| 28.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 39.6b | 5 | x |
| 38.0b | 4 | y |
| 38.9b | 4 | z |
| 41.7b | 4 | t |
Compiled 32 to 22 computations (31.3% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 9.26121301564439e-69 | 5.220215900262221e-68 |
| 23.0ms | 2.5443568212861814e-167 | 7.091850760007749e-166 |
| 20.0ms | -8.666483375536832e-26 | -3.991867256719067e-34 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
x |
x |
(*.f64 z x) |
| Outputs |
|---|
(*.f64 z x) |
x |
(*.f64 z x) |
4 calls:
| 17.0ms | t |
| 15.0ms | y |
| 13.0ms | x |
| 10.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 47.7b | 3 | x |
| 46.5b | 4 | y |
| 41.6b | 3 | z |
| 47.5b | 3 | t |
Compiled 29 to 21 computations (27.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 2.9522962101091264e-23 | 2.819713577512346e-19 |
| 192.0ms | -3783.010294147959 | -9.841039214879246e-7 |
Compiled 20 to 14 computations (30% saved)
Total -0.0b remaining (-0%)
Threshold costs -0.0b (-0%)
| Inputs |
|---|
x |
x |
| Outputs |
|---|
x |
4 calls:
| 180.0ms | t |
| 4.0ms | x |
| 3.0ms | y |
| 3.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 49.7b | 1 | x |
| 49.7b | 1 | y |
| 49.7b | 1 | z |
| 49.7b | 1 | t |
Compiled 26 to 20 computations (23.1% saved)
| 1× | egg-herbie |
| 119× | distribute-rgt-neg-in_binary64 |
| 103× | cancel-sign-sub-inv_binary64 |
| 77× | distribute-lft-neg-in_binary64 |
| 77× | distribute-lft-neg-out_binary64 |
| 73× | neg-sub0_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 174 | 769 |
| 1 | 219 | 767 |
| 2 | 248 | 767 |
| 3 | 266 | 767 |
| 4 | 284 | 767 |
| 5 | 310 | 767 |
| 6 | 356 | 767 |
| 7 | 409 | 767 |
| 8 | 472 | 767 |
| 9 | 593 | 767 |
| 10 | 741 | 767 |
| 11 | 875 | 767 |
| 12 | 992 | 767 |
| 13 | 1048 | 767 |
| 14 | 1060 | 767 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 (-.f64 t x) y))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 (-.f64 t x) y))) |
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 t (-.f64 y z)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y))))))) |
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -128379604403579808/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t (-.f64 y z)) (if (<=.f64 z -2332238342068161024/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -9786514606822817792/528294531135665246352339784916516606518847326036121522127960709026673902556724859474417255887657187894674394993257128678882347559502685537250538978462939576908386683999005084168731517676426441053024232908211188404148028292751561738838396898767036476489538580897737998336) (*.f64 (-.f64 t x) y) (if (<=.f64 z 11483440244321120/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 (-.f64 t x) y) (if (<=.f64 z -1129969273884279680/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 z (neg.f64 t)) (if (<=.f64 z -3267784980665945600/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 (-.f64 t x) y) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -4388394676109267/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t)))) |
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -53031076859123752/1461501637330902918203684832716283019655932542976) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 27118942994740880/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 (+.f64 1 z) x) (if (<=.f64 t 6656623887515097088/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t)))))))))) |
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 1661963646819852/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 y t) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 z x) (*.f64 x (-.f64 1 y)))))))))) |
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y))))))))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t)))))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 27028091501351844/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) x (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (*.f64 y t)))) |
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 z x) (if (<=.f64 z 10046143422276498/340282366920938463463374607431768211456) x (*.f64 z x))) |
x |
| Outputs |
|---|
(+.f64 x (+.f64 (*.f64 (-.f64 y z) t) (*.f64 (-.f64 y z) (neg.f64 x)))) |
(+.f64 x (+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (*.f64 (-.f64 y z) t))) |
(+.f64 x (-.f64 (*.f64 (-.f64 y z) t) (*.f64 x (-.f64 y z)))) |
(+.f64 x (+.f64 (*.f64 x (-.f64 z y)) (*.f64 (-.f64 y z) t))) |
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 (-.f64 t x) y))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y (-.f64 t x)) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (-.f64 (*.f64 x z) (*.f64 z t))) (*.f64 y (-.f64 t x)))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 (-.f64 t x) y) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 (-.f64 t x) y))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y (-.f64 t x)) (if (<=.f64 y 2838405783332313/36893488147419103232) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x)))) |
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 t (-.f64 y z)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 x (-.f64 z y))))))) |
(if (<=.f64 x -6142183028801485/73786976294838206464) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (-.f64 y z) t) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (+.f64 x (*.f64 x (-.f64 z y))) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 (-.f64 y z) t) (+.f64 x (*.f64 x (-.f64 z y))))))) |
(if (<=.f64 x -6142183028801485/73786976294838206464) (-.f64 x (*.f64 x (-.f64 y z))) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (-.f64 y z) t) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (-.f64 x (*.f64 x (-.f64 y z))) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 (-.f64 y z) t) (-.f64 x (*.f64 x (-.f64 y z))))))) |
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -128379604403579808/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t (-.f64 y z)) (if (<=.f64 z -2332238342068161024/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -9786514606822817792/528294531135665246352339784916516606518847326036121522127960709026673902556724859474417255887657187894674394993257128678882347559502685537250538978462939576908386683999005084168731517676426441053024232908211188404148028292751561738838396898767036476489538580897737998336) (*.f64 (-.f64 t x) y) (if (<=.f64 z 11483440244321120/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -700798171323721144950831942740213760) (*.f64 z (-.f64 x t)) (if (<=.f64 z -4011862637611869/7729075046034516689390703781863974688597854659412869997314470502903038284579120849072387533163845155924927232063004354354730157322085975311485817346934161497393961629646848) (*.f64 (-.f64 y z) t) (if (<=.f64 z -4555153011851877/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -298660724085169/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352) (*.f64 y (-.f64 t x)) (if (<=.f64 z 358857507635035/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x (-.f64 1 y)) (if (<=.f64 z 14499999999999999867057763505257469577327830210186225736984407805442719523515437940736) (*.f64 (-.f64 y z) t) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 (-.f64 t x) y) (if (<=.f64 z -1129969273884279680/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 z (neg.f64 t)) (if (<=.f64 z -3267784980665945600/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 (-.f64 t x) y) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -212596194062459478074363740160) (*.f64 z (-.f64 x t)) (if (<=.f64 z -1294651792557077/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (*.f64 y (-.f64 t x)) (if (<=.f64 z -8827884952220935/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 z (neg.f64 t)) (if (<=.f64 z -6382392540363175/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648) (*.f64 x (-.f64 1 y)) (if (<=.f64 z -424616290994449/58652475225036720546649669496166069228998121824605496380296088990333059082962747718339142176408838912879328274880511426712364770830486275482511413333124259062810366582741426385442408983508948533749841936858614266830705773786598571244254795994059356766208) (*.f64 y (-.f64 t x)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t)))))))) |
(if (<=.f64 z -4388394676109267/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8578310779419896) (*.f64 x (-.f64 1 y)) (*.f64 z (-.f64 x t)))) |
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -53031076859123752/1461501637330902918203684832716283019655932542976) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 27118942994740880/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 (+.f64 1 z) x) (if (<=.f64 t 6656623887515097088/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t)))))))))) |
(if (<=.f64 t -1849999999999999923153568303008110634658392841656741234126855898111306962567168) (*.f64 z (neg.f64 t)) (if (<=.f64 t -2793563374727387/32) (*.f64 y t) (if (<=.f64 t -6628884607390469/182687704666362864775460604089535377456991567872) (*.f64 z (neg.f64 t)) (if (<=.f64 t -7354397811558541/1346594790796383617853693410017312938380886989522732508031559911185595431500052690461098633287062643514107640027181623734532974656047053788960720581286881497588537259808881817137065922018386615621451072444360032256) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 1694933937171305/7687697232696013035490465480201479025983241823794691621558168976140934720122093268938148043346259333988919315645138393722043075242293497100043735968399262883880680368733084239192707430286484902215659282347932289182034267181757047930126964620533348010060414976) (*.f64 x (+.f64 z 1)) (if (<=.f64 t 3250304632575731/56539106072908298546665520023773392506479484700019806659891398441363832832) (*.f64 x (-.f64 1 y)) (if (<=.f64 t 4300000000000000087809120694224938310589766750731660064030039240352965884551387953538834945970515476480) (*.f64 z (neg.f64 t)) (if (<=.f64 t 32000000000000000446275641731837582015173307423572426595587013469109775661636177396429072418515383174713444908783904366862895631156391069130898392242654301025035127898454874407490526395658298899546628978375942838194607507679422595082494148608) (*.f64 y t) (*.f64 z (neg.f64 t)))))))))) |
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -648324617842608/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 1661963646819852/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 y t) (if (<=.f64 x 4504385742463685632/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 z x) (*.f64 x (-.f64 1 y)))))))))) |
(if (<=.f64 x -4722487168659253/348449143727040986586495598010130648530944) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -1692778137246197/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 z (neg.f64 t)) (if (<=.f64 x -40520288615163/195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643136) (*.f64 x (-.f64 1 y)) (if (<=.f64 x -6404230121270865/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z (neg.f64 t)) (if (<=.f64 x 415490911704963/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 y t) (if (<=.f64 x 4398814201624693/13093562431584567480052758787310396608866568184172259157933165472384535185618698219533080369303616628603546736510240284036869026183541572213314110357504) (*.f64 z (neg.f64 t)) (if (<=.f64 x 8300601594177493/17592186044416) (*.f64 x (-.f64 1 y)) (if (<=.f64 x 620000000000000008129660212074805743291035922101995235836220762147902111982042149308302815202865244256280502588038135847317405696) (*.f64 x z) (*.f64 x (-.f64 1 y)))))))))) |
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y))))))))) |
(if (<=.f64 y -519999999999999974594512081240226866776236343981683268372262362309822609634997877530476170236961691860985523335891189348761309169028729640817058268166375607676059059995418100040416299987912483667968) (*.f64 x (neg.f64 y)) (if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5600000000000000142778372650239069176146001402561132016431190245376) (*.f64 y t) (*.f64 x (neg.f64 y))))))))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t)))))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y -7169774622139813/11781361728633673532894774498354952494238773929196300355071513798753168641589311119865182769801300280680127783231251635087526446289021607771691249214388576215221396663491984443067742263787264024212477244347842938066577043117995647400274369612403653814737339068225047641453182709824206687753689912418253153056587776) x (if (<=.f64 y 8708049965768115/1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247078343332431250840168271536308408672112127552681297848886832192510636636227827221215793215130566656) (*.f64 z (neg.f64 t)) (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (if (<=.f64 y 2221572597646583/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 z (neg.f64 t)) (*.f64 y t)))))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 27028091501351844/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) x (if (<=.f64 y 4605816430020707840/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (*.f64 z x) (*.f64 y t)))) |
(if (<=.f64 y -235924118072691/2722258935367507707706996859454145691648) (*.f64 y t) (if (<=.f64 y 6757022875337961/265568996408383549344794103276234313664796558863515961599722069100201779930426121369581251132614642834444664743123250507673289668826353619704759989383293675971915635417696609515864064) x (if (<=.f64 y 8995735214884195/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x z) (*.f64 y t)))) |
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 z x) (if (<=.f64 z 10046143422276498/340282366920938463463374607431768211456) x (*.f64 z x))) |
(if (<=.f64 z -4159463806411987/1099511627776) (*.f64 x z) (if (<=.f64 z 5023071711138249/170141183460469231731687303715884105728) x (*.f64 x z))) |
x |
Compiled 590 to 320 computations (45.8% saved)
Compiled 534 to 229 computations (57.1% saved)
Loading profile data...