Time bar (total: 24.0s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 6 |
| 0% | 0% | 90.4% | 0.3% | 9.3% | 0% | 0% | 7 |
| 0% | 0% | 90.4% | 0.3% | 9.3% | 0% | 0% | 8 |
| 0% | 0% | 89.6% | 0.3% | 10.1% | 0% | 0% | 9 |
| 0% | 0% | 84.5% | 0.3% | 15.2% | 0% | 0% | 10 |
| 0% | 0% | 67.2% | 0.3% | 15.2% | 17.3% | 0% | 11 |
| 0% | 0% | 65.3% | 0.3% | 17.1% | 17.3% | 0% | 12 |
Compiled 23 to 16 computations (30.4% saved)
| 1.7s | 8253× | body | 256 | valid |
| 624.0ms | 2856× | body | 256 | invalid |
| 231.0ms | 1205× | body | 256 | infinite |
| 1.0ms | 1× | body | 2048 | valid |
| 0.0ms | 1× | body | 1024 | valid |
| 0.0ms | 1× | body | 512 | valid |
| 2× | egg-herbie |
| 539× | associate--r+_binary64 |
| 527× | cancel-sign-sub-inv_binary64 |
| 497× | associate-+l-_binary64 |
| 457× | associate-+r+_binary64 |
| 420× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 94 | 384 |
| 1 | 297 | 352 |
| 2 | 1178 | 352 |
| 3 | 3830 | 352 |
| 4 | 7126 | 352 |
| 0 | 6 | 6 |
| 1 | 6 | 6 |
| 1× | unsound |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
4 |
5 |
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 y x) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 z y) x) (*.f64 x (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 t y) z) (*.f64 z (log.f64 x))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 a y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 x 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 b y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) x)) |
(+.f64 (-.f64 (+.f64 (+.f64 x z) y) (*.f64 y (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x t) z) (*.f64 z (log.f64 y))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x a) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 y 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x b) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) y)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) t) (*.f64 t (log.f64 z))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) a) (*.f64 a (log.f64 t))) (*.f64 (-.f64 z 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) b) (*.f64 b (log.f64 t))) (*.f64 (-.f64 a 1/2) z)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 (-.f64 t 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 b))) (*.f64 (-.f64 a 1/2) t)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 b 1/2) a)) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t))))) |
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t))) |
(+.f64 (-.f64 (+.f64 (+.f64 y x) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t))))) |
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t))) |
(+.f64 (-.f64 (+.f64 (+.f64 z y) x) (*.f64 x (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 (+.f64 y z) (-.f64 x (*.f64 x (log.f64 t))))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 x (-.f64 (+.f64 y z) (*.f64 x (log.f64 t))))) |
(+.f64 (-.f64 x (*.f64 x (log.f64 t))) (fma.f64 (+.f64 a -1/2) b (+.f64 y z))) |
(+.f64 x (+.f64 y (-.f64 z (fma.f64 x (log.f64 t) (*.f64 b (-.f64 1/2 a)))))) |
(+.f64 (-.f64 (+.f64 (+.f64 t y) z) (*.f64 z (log.f64 x))) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 (+.f64 z (+.f64 y t)) (-.f64 (*.f64 z (log.f64 x)) (*.f64 (+.f64 a -1/2) b))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 t (-.f64 z (*.f64 z (log.f64 x)))))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 x))) (fma.f64 (+.f64 a -1/2) b (+.f64 y t))) |
(+.f64 (-.f64 (+.f64 (+.f64 a y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 x 1/2) b)) |
(+.f64 (+.f64 (+.f64 y a) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 b (+.f64 x -1/2))) |
(fma.f64 b (+.f64 x -1/2) (-.f64 (+.f64 y (+.f64 z a)) (*.f64 z (log.f64 t)))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 b (+.f64 x -1/2) (+.f64 y a))) |
(-.f64 (+.f64 y (+.f64 z a)) (fma.f64 z (log.f64 t) (*.f64 b (-.f64 1/2 x)))) |
(+.f64 (-.f64 (+.f64 (+.f64 b y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) x)) |
(+.f64 (+.f64 (+.f64 y b) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 x (+.f64 a -1/2))) |
(fma.f64 x (+.f64 a -1/2) (-.f64 (+.f64 z (+.f64 y b)) (*.f64 z (log.f64 t)))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 x (+.f64 a -1/2) (+.f64 y b))) |
(+.f64 (-.f64 (+.f64 (+.f64 x z) y) (*.f64 y (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (+.f64 (+.f64 x y) z) (*.f64 y (log.f64 t)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 x (-.f64 (+.f64 y z) (*.f64 y (log.f64 t))))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) (-.f64 z (*.f64 y (log.f64 t)))) |
(+.f64 (+.f64 x y) (-.f64 z (fma.f64 y (log.f64 t) (*.f64 b (-.f64 1/2 a))))) |
(+.f64 (-.f64 (+.f64 (+.f64 x t) z) (*.f64 z (log.f64 y))) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 (+.f64 x (+.f64 t z)) (-.f64 (*.f64 z (log.f64 y)) (*.f64 (+.f64 a -1/2) b))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 x (+.f64 t (-.f64 z (*.f64 z (log.f64 y)))))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 y))) (fma.f64 (+.f64 a -1/2) b (+.f64 x t))) |
(+.f64 (-.f64 (+.f64 (+.f64 x a) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 y 1/2) b)) |
(+.f64 (+.f64 (+.f64 x a) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 b (-.f64 y 1/2))) |
(fma.f64 b (+.f64 y -1/2) (-.f64 (+.f64 x (+.f64 z a)) (*.f64 z (log.f64 t)))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 b (+.f64 y -1/2) (+.f64 x a))) |
(+.f64 a (-.f64 (+.f64 x z) (fma.f64 z (log.f64 t) (*.f64 b (-.f64 1/2 y))))) |
(+.f64 (-.f64 (+.f64 (+.f64 x b) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) y)) |
(+.f64 (+.f64 (+.f64 x b) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 y (+.f64 a -1/2))) |
(fma.f64 y (+.f64 a -1/2) (+.f64 x (-.f64 (+.f64 z b) (*.f64 z (log.f64 t))))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 y (+.f64 a -1/2) (+.f64 x b))) |
(+.f64 (+.f64 x b) (-.f64 z (fma.f64 z (log.f64 t) (*.f64 y (-.f64 1/2 a))))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) t) (*.f64 t (log.f64 z))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (+.f64 x (+.f64 y t)) (*.f64 t (log.f64 z)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 (+.f64 x y) (-.f64 t (*.f64 t (log.f64 z))))) |
(+.f64 (-.f64 t (*.f64 t (log.f64 z))) (fma.f64 (+.f64 a -1/2) b (+.f64 x y))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) a) (*.f64 a (log.f64 t))) (*.f64 (-.f64 z 1/2) b)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 a (*.f64 (log.f64 t) a))) (*.f64 b (+.f64 z -1/2))) |
(fma.f64 b (+.f64 z -1/2) (+.f64 x (-.f64 (+.f64 y a) (*.f64 (log.f64 t) a)))) |
(-.f64 (+.f64 (fma.f64 b (+.f64 z -1/2) (+.f64 x y)) a) (*.f64 (log.f64 t) a)) |
(+.f64 x (-.f64 (+.f64 y a) (fma.f64 (log.f64 t) a (*.f64 b (-.f64 1/2 z))))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) b) (*.f64 b (log.f64 t))) (*.f64 (-.f64 a 1/2) z)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 b (*.f64 (log.f64 t) b))) (*.f64 z (+.f64 a -1/2))) |
(fma.f64 z (+.f64 a -1/2) (+.f64 x (+.f64 y (-.f64 b (*.f64 (log.f64 t) b))))) |
(+.f64 (-.f64 b (*.f64 (log.f64 t) b)) (fma.f64 z (+.f64 a -1/2) (+.f64 x y))) |
(+.f64 b (-.f64 (fma.f64 z (+.f64 a -1/2) (+.f64 x y)) (*.f64 (log.f64 t) b))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 (-.f64 t 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 b (+.f64 t -1/2))) |
(fma.f64 b (+.f64 t -1/2) (+.f64 x (-.f64 (+.f64 y z) (*.f64 z (log.f64 a))))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 a))) (fma.f64 b (+.f64 t -1/2) (+.f64 x y))) |
(+.f64 x (+.f64 y (-.f64 z (fma.f64 z (log.f64 a) (*.f64 b (-.f64 1/2 t)))))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 b))) (*.f64 (-.f64 a 1/2) t)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 b)))) (*.f64 t (+.f64 a -1/2))) |
(fma.f64 t (+.f64 a -1/2) (-.f64 (+.f64 x (+.f64 y z)) (*.f64 z (log.f64 b)))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 b))) (fma.f64 t (+.f64 a -1/2) (+.f64 x y))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 b 1/2) a)) |
(-.f64 (+.f64 (+.f64 x y) z) (-.f64 (*.f64 z (log.f64 t)) (*.f64 a (+.f64 b -1/2)))) |
(fma.f64 a (+.f64 b -1/2) (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t))))) |
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 a (+.f64 b -1/2) (+.f64 x y))) |
(+.f64 x (+.f64 y (-.f64 z (fma.f64 z (log.f64 t) (*.f64 a (-.f64 1/2 b)))))) |
(sort x y)
Compiled 28 to 21 computations (25% saved)
| 1× | egg-herbie |
| 866× | fma-neg_binary64 |
| 691× | sub-neg_binary64 |
| 567× | unsub-neg_binary64 |
| 503× | fma-def_binary64 |
| 441× | +-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 24 |
| 1 | 35 | 22 |
| 2 | 106 | 22 |
| 3 | 327 | 21 |
| 4 | 1045 | 20 |
| 5 | 2888 | 20 |
| 6 | 4345 | 20 |
| 7 | 6311 | 20 |
| 8 | 7186 | 20 |
| 9 | 7518 | 20 |
| 10 | 7628 | 20 |
| 11 | 7638 | 20 |
| 12 | 7753 | 20 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) |
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (fma.f64 -1 (log.f64 t) 1) z x) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
Compiled 36 to 22 computations (38.9% 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.1b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| ▶ | 0.1b | (+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
Compiled 42 to 29 computations (31% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 (+.f64 a -1/2) b x) |
| ✓ | 0.0b | (+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
| ✓ | 0.1b | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
Compiled 55 to 29 computations (47.3% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 47.0ms | z | @ | 0 | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
| 40.0ms | t | @ | -inf | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
| 24.0ms | t | @ | 0 | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
| 9.0ms | t | @ | inf | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
| 8.0ms | b | @ | 0 | (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
| 1× | batch-egg-rewrite |
| 837× | prod-diff_binary64 |
| 702× | log-prod_binary64 |
| 377× | fma-def_binary64 |
| 291× | expm1-udef_binary64 |
| 290× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 45 |
| 1 | 318 | 45 |
| 2 | 4129 | 45 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
(fma.f64 (+.f64 a -1/2) b x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 a -1/2) b x) (*.f64 z (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 (log.f64 t))) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) 1) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))) (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 1 (log.f64 t))) 3) (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3)) (fma.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 z (-.f64 1 (log.f64 t))) (-.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2) (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 z (-.f64 1 (log.f64 t)))) (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2)) (-.f64 (*.f64 z (-.f64 1 (log.f64 t))) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)) (exp.f64 (*.f64 z (-.f64 1 (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x))) (exp.f64 (*.f64 z (-.f64 1 (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z (-.f64 1 (log.f64 t)))) (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))) (/.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2) (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) (pow.f64 (cbrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) 2) (cbrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) (sqrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) (-.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2)) (/.f64 1 (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) (-.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) (*.f64 y y)) (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3)) (fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) (-.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3)) (+.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2) (-.f64 (*.f64 y y) (*.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2)) (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 3))) (neg.f64 (fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) (-.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2))) (neg.f64 (-.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 2) (*.f64 y y)) (-.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)) 1 y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 2) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 z (-.f64 1 (log.f64 t)))) (cbrt.f64 (*.f64 z (-.f64 1 (log.f64 t))))) (cbrt.f64 (*.f64 z (-.f64 1 (log.f64 t)))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (-.f64 1 (log.f64 t)))) (sqrt.f64 (*.f64 z (-.f64 1 (log.f64 t)))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (-.f64 1 (log.f64 t)))) (*.f64 (sqrt.f64 z) (sqrt.f64 (-.f64 1 (log.f64 t)))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2)) (cbrt.f64 (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 a -1/2) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 a -1/2) b) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x))) (cbrt.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 a -1/2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 3) (pow.f64 x 3)) (fma.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 x x) (*.f64 (*.f64 (+.f64 a -1/2) b) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (+.f64 a -1/2) b) (neg.f64 (*.f64 x x))) (-.f64 (*.f64 (+.f64 a -1/2) b) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 a -1/2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b x)) 1)))))) |
| 1× | egg-herbie |
| 833× | unsub-neg_binary64 |
| 706× | fma-neg_binary64 |
| 538× | associate-+l+_binary64 |
| 462× | sub-neg_binary64 |
| 450× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 67 | 2418 |
| 1 | 212 | 2418 |
| 2 | 439 | 2418 |
| 3 | 877 | 2418 |
| 4 | 2411 | 2418 |
| 5 | 3794 | 2418 |
| 6 | 6249 | 2418 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
x |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
x |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
y |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
y |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) y)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 -1/2 b) x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 -1/2 b x)) |
(fma.f64 b -1/2 (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 b -1/2 x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
(fma.f64 (-.f64 1 (log.f64 t)) z x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (log.f64 t)) z)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
x |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
x |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) x)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
y |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
y |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 -1/2 b (+.f64 x y))) |
(+.f64 (fma.f64 b -1/2 y) (fma.f64 (-.f64 1 (log.f64 t)) z x)) |
(+.f64 x (fma.f64 b -1/2 (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 (fma.f64 b -1/2 x) (fma.f64 (-.f64 1 (log.f64 t)) z y)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x)))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x)) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z y)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) y)) |
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b y)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y)) |
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(fma.f64 (-.f64 1 (log.f64 t)) z (+.f64 (fma.f64 (+.f64 a -1/2) b y) x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x)) y) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z y))) |
(+.f64 x (fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b y))) |
(+.f64 (*.f64 -1/2 b) x) |
(fma.f64 -1/2 b x) |
(fma.f64 b -1/2 x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 a 1/2) b) |
| ✓ | 0.0b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| ✓ | 0.1b | (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) |
| ✓ | 0.2b | (*.f64 z (log.f64 t)) |
Compiled 61 to 21 computations (65.6% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 29.0ms | z | @ | 0 | (*.f64 z (log.f64 t)) |
| 1.0ms | b | @ | inf | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 1.0ms | b | @ | -inf | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 1.0ms | a | @ | -inf | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 1.0ms | z | @ | inf | (*.f64 z (log.f64 t)) |
| 1× | batch-egg-rewrite |
| 598× | fma-neg_binary64 |
| 354× | expm1-udef_binary64 |
| 354× | log1p-udef_binary64 |
| 204× | add-sqr-sqrt_binary64 |
| 200× | *-un-lft-identity_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 52 |
| 1 | 375 | 50 |
| 2 | 5789 | 50 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (log.f64 t)) |
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(*.f64 (-.f64 a 1/2) b) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (log.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (log.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (log.f64 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 t z) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 t z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (log.f64 t))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (+.f64 (+.f64 x y) (*.f64 z (neg.f64 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 y (*.f64 z (-.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (+.f64 z y) (*.f64 z (neg.f64 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 y (+.f64 x (*.f64 z (-.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x y) (*.f64 z (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x y) (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 z y)) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (log.f64 t))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) (pow.f64 (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2) (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (log.f64 t)) (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (-.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (log.f64 t)) (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))))) (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))) (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (log.f64 t)) (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (log.f64 t)) (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2))) (neg.f64 (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 (log.f64 t))) 3)) (+.f64 (pow.f64 (+.f64 x y) 2) (-.f64 (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 z (-.f64 1 (log.f64 t)))) (*.f64 (+.f64 x y) (*.f64 z (-.f64 1 (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (neg.f64 (log.f64 t))) 3)) (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (-.f64 (*.f64 (*.f64 z (neg.f64 (log.f64 t))) (*.f64 z (neg.f64 (log.f64 t)))) (*.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 z (-.f64 1 (log.f64 t))))) (-.f64 (+.f64 x y) (*.f64 z (-.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) (*.f64 z (neg.f64 (log.f64 t))))) (-.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (pow.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (+.f64 1 (-.f64 (pow.f64 t z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (+.f64 1 (-.f64 (pow.f64 t z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (+.f64 z y)) 1 (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x y) (*.f64 z (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) 2) (*.f64 z (neg.f64 (log.f64 t))))))) (#(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))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 z (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (+.f64 x (+.f64 z y))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 z (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z (-.f64 z (+.f64 x y))))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z z)) (/.f64 1 (+.f64 y (-.f64 x z))) (*.f64 z (neg.f64 (log.f64 t)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 z y)) (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b))))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 x (+.f64 z y))) (*.f64 z (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))) (cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2)) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b)))) (-.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (*.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (+.f64 (+.f64 x y) (fma.f64 z (-.f64 1 (log.f64 t)) (neg.f64 (*.f64 (+.f64 a -1/2) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) 3)) (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (+.f64 (*.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))) (*.f64 (+.f64 x (+.f64 z y)) (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)))) (+.f64 (+.f64 x (+.f64 z y)) (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (pow.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) 2)) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (exp.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (/.f64 (pow.f64 t z) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (/.f64 (pow.f64 t z) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (+.f64 z y)) 1 (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (+.f64 z y)) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) 2) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(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))) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2) (cbrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (+.f64 x (+.f64 z y))) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z (-.f64 z (+.f64 x y))))) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z z)) (/.f64 1 (+.f64 y (-.f64 x z))) (neg.f64 (-.f64 (*.f64 z (log.f64 t)) (*.f64 (+.f64 a -1/2) b)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (*.f64 -1/2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b a) (*.f64 b -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/2) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/8) b) (fma.f64 a a (+.f64 1/4 (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/4) b) (+.f64 a 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 a 3) -1/8)) (fma.f64 a a (+.f64 1/4 (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 a a -1/4)) (+.f64 a 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 a -1/2) b)) 1)))))) |
| 1× | egg-herbie |
| 969× | fma-def_binary64 |
| 833× | sub-neg_binary64 |
| 632× | distribute-neg-in_binary64 |
| 490× | associate--l+_binary64 |
| 355× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 2171 |
| 1 | 195 | 2163 |
| 2 | 564 | 1935 |
| 3 | 1959 | 1935 |
| 4 | 4766 | 1935 |
| 5 | 6126 | 1935 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
y |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
y |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(*.f64 a b) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(*.f64 a b) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 a 1/2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 a 1/2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(*.f64 -1/2 b) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z)) |
(*.f64 z (*.f64 1 (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 z y) (*.f64 z (log.f64 t))) |
(+.f64 z (-.f64 y (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) y) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t))) |
(+.f64 z (-.f64 x (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 y x) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(fma.f64 (neg.f64 (log.f64 t)) z z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(fma.f64 (neg.f64 (log.f64 t)) z z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z y)) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 z (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b y)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x)) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 z x)) (*.f64 z (log.f64 t))) |
(fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b x)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
y |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
y |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y x)) |
(+.f64 x (fma.f64 (-.f64 a 1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(fma.f64 (neg.f64 (log.f64 t)) z z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(fma.f64 (neg.f64 (log.f64 t)) z z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 -1/2 b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 b -1/2 y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 b -1/2 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 b -1/2 x))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 a b) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 a b) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t))) |
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x)) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(-.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 z x))) (*.f64 z (log.f64 t))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) (-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y (fma.f64 (-.f64 a 1/2) b x))) |
(*.f64 -1/2 b) |
(*.f64 b -1/2) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 a b) (*.f64 -1/2 b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 -1/2 b) (*.f64 a b)) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
Compiled 7228 to 3330 computations (53.9% saved)
21 alts after pruning (21 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 316 | 21 | 337 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 318 | 21 | 339 |
| Status | Error | Program |
|---|---|---|
| 31.8b | (+.f64 y (*.f64 (-.f64 a 1/2) b)) | |
| 35.0b | (+.f64 y x) | |
| 33.1b | (+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) | |
| 34.1b | (fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) | |
| ▶ | 55.5b | (*.f64 a b) |
| ▶ | 30.7b | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.4b | (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) | |
| 18.3b | (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) | |
| 31.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b)) | |
| ▶ | 29.0b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 38.6b | (+.f64 (*.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))))) (*.f64 (-.f64 a 1/2) b)) | |
| ▶ | 0.4b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) (*.f64 (-.f64 a 1/2) b)) |
| 35.6b | (fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) | |
| 33.0b | (+.f64 (pow.f64 (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2) (*.f64 (-.f64 a 1/2) b)) | |
| 16.9b | (+.f64 y (fma.f64 (-.f64 a 1/2) b x)) | |
| 16.9b | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) | |
| 49.6b | y | |
| 45.2b | (*.f64 (-.f64 a 1/2) b) | |
| ▶ | 33.1b | (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
| 16.9b | (+.f64 x (fma.f64 (+.f64 a -1/2) b y)) | |
| 42.4b | (+.f64 y (*.f64 a b)) |
Compiled 731 to 524 computations (28.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) |
| 0.2b | (*.f64 z (log.f64 t)) | |
| ✓ | 0.6b | (cbrt.f64 (*.f64 z (log.f64 t))) |
| ✓ | 0.7b | (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
Compiled 80 to 30 computations (62.5% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 56.0ms | z | @ | inf | (cbrt.f64 (*.f64 z (log.f64 t))) |
| 5.0ms | t | @ | inf | (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
| 4.0ms | t | @ | -inf | (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
| 4.0ms | t | @ | 0 | (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
| 3.0ms | z | @ | -inf | (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
| 1× | batch-egg-rewrite |
| 747× | fma-def_binary64 |
| 667× | log-prod_binary64 |
| 341× | fma-neg_binary64 |
| 249× | expm1-udef_binary64 |
| 249× | log1p-udef_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 29 |
| 1 | 298 | 29 |
| 2 | 4106 | 27 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 t z)) (cbrt.f64 (pow.f64 t z)))) (log.f64 (cbrt.f64 (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 t z))) (log.f64 (sqrt.f64 (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (log.f64 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (log.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 t) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (log.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (log.f64 t))) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (*.f64 (cbrt.f64 (log.f64 t)) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 t) 2)) (*.f64 (cbrt.f64 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (log.f64 t))) (sqrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) (*.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 t)) (*.f64 (sqrt.f64 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 2) 3) (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (cbrt.f64 (pow.f64 (log.f64 t) 2))) (cbrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 t) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) 1) (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (cbrt.f64 z)) (cbrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (pow.f64 (*.f64 z (log.f64 t)) 1/6)) (pow.f64 (*.f64 z (log.f64 t)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 t z) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 t z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (log.f64 t))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t))))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 z (log.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 t)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) (pow.f64 (*.f64 z (log.f64 t)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 1/3) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (log.f64 t)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (log.f64 t)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (log.f64 t))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 y (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x y) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 z y)) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (log.f64 t))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z (log.f64 t))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z))) (cbrt.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z))))) (log.f64 (cbrt.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z)))) (log.f64 (sqrt.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (-.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2)) (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3))) (neg.f64 (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2))) (neg.f64 (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (-.f64 z (*.f64 z (log.f64 t))) 3)) (+.f64 (pow.f64 (+.f64 x y) 2) (-.f64 (*.f64 (-.f64 z (*.f64 z (log.f64 t))) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (neg.f64 (log.f64 t))) 3)) (+.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (-.f64 (*.f64 (*.f64 z (neg.f64 (log.f64 t))) (*.f64 z (neg.f64 (log.f64 t)))) (*.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) (-.f64 z (*.f64 z (log.f64 t))))) (-.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) (*.f64 z (neg.f64 (log.f64 t))))) (-.f64 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (pow.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (pow.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (+.f64 z y))) (+.f64 1 (-.f64 (pow.f64 t z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (+.f64 1 (-.f64 (pow.f64 t z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (-.f64 z (*.f64 z (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x y)) (/.f64 (exp.f64 z) (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (/.f64 (exp.f64 z) (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (exp.f64 (*.f64 z (neg.f64 (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x (+.f64 z y))) (/.f64 1 (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y)))) (/.f64 1 (pow.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z (neg.f64 (log.f64 t)))) (exp.f64 (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 t z)) (exp.f64 (+.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z (neg.f64 (log.f64 t)))) (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 t z)) (+.f64 1 (expm1.f64 (+.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 z (*.f64 z (log.f64 t)))) (exp.f64 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (exp.f64 z) (pow.f64 t z)) (exp.f64 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 z (*.f64 z (log.f64 t)))) (+.f64 1 (expm1.f64 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (exp.f64 z) (pow.f64 t z)) (+.f64 1 (expm1.f64 (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 (log.f64 t)) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 t) (neg.f64 z) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (log.f64 t))) (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2)) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) 1 (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x y) 1 (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (+.f64 z y)) 1 (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (+.f64 z y)) 1 (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 1 (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) 1 (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x y) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (+.f64 z y)) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (+.f64 z y)) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y)) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (neg.f64 (log.f64 t))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 z (*.f64 z (log.f64 t))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (neg.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) 2) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) (pow.f64 (cbrt.f64 (+.f64 x (+.f64 z y))) 2) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(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))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(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))) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (log.f64 t))) (neg.f64 (sqrt.f64 (*.f64 z (log.f64 t)))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (+.f64 x (+.f64 z y))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (+.f64 x (+.f64 z y))) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (-.f64 (+.f64 z y) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (-.f64 z (*.f64 z (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 3) (pow.f64 (*.f64 z (log.f64 t)) 3)) (/.f64 1 (fma.f64 (*.f64 z (log.f64 t)) (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y))) (pow.f64 (+.f64 x (+.f64 z y)) 2))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) 2))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (+.f64 x y)) (pow.f64 (+.f64 x y) 2))) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y)))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (fma.f64 z (log.f64 t) (+.f64 x (+.f64 z y)))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (-.f64 z (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (-.f64 z (*.f64 z (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z z)) (/.f64 1 (+.f64 y (-.f64 x z))) (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 z z)) (/.f64 1 (+.f64 y (-.f64 x z))) (*.f64 (*.f64 z (neg.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t))))) (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 z (*.f64 z (log.f64 t)))) (cbrt.f64 (-.f64 z (*.f64 z (log.f64 t))))) (cbrt.f64 (-.f64 z (*.f64 z (log.f64 t)))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 z (*.f64 z (log.f64 t)))) (sqrt.f64 (-.f64 z (*.f64 z (log.f64 t)))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (log.f64 t) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (log.f64 t)) z (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2)) (cbrt.f64 (*.f64 z (log.f64 t))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (log.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 2) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (log.f64 t)))) (sqrt.f64 (*.f64 z (log.f64 t))) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 z (log.f64 t)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 z (log.f64 t)))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (-.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (fma.f64 (*.f64 z (neg.f64 (log.f64 t))) 1 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (-.f64 (sqrt.f64 (+.f64 x (+.f64 z y))) (sqrt.f64 (*.f64 z (log.f64 t)))) (fma.f64 (neg.f64 z) (log.f64 t) (*.f64 z (log.f64 t)))))))) |
| 1× | egg-herbie |
| 681× | unsub-neg_binary64 |
| 622× | fma-def_binary64 |
| 418× | unswap-sqr_binary64 |
| 379× | fma-neg_binary64 |
| 374× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 833 |
| 1 | 123 | 701 |
| 2 | 303 | 701 |
| 3 | 782 | 637 |
| 4 | 1772 | 637 |
| 5 | 4301 | 637 |
| 6 | 6295 | 637 |
| 7 | 7708 | 637 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(-.f64 (+.f64 y z) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z x) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(+.f64 y x) |
(+.f64 y (+.f64 z x)) |
z |
(+.f64 y (+.f64 z x)) |
z |
(+.f64 y (+.f64 z x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
| Outputs |
|---|
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z))) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)) |
(*.f64 1 (*.f64 z (log.f64 t))) |
(*.f64 z (log.f64 t)) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 z (log.f64 t)) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (neg.f64 z) (log.f64 t))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (log.f64 t) (neg.f64 z))) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (neg.f64 z) (log.f64 t))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (log.f64 t) (neg.f64 z))) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (neg.f64 z) (log.f64 t))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (log.f64 t) (neg.f64 z))) (cbrt.f64 -1)) |
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 t)) z)) 1/3) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (neg.f64 z) (log.f64 t))) (cbrt.f64 -1)) |
(*.f64 (cbrt.f64 (*.f64 (log.f64 t) (neg.f64 z))) (cbrt.f64 -1)) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(pow.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) 1/3) |
(cbrt.f64 (*.f64 z (log.f64 t))) |
(-.f64 (+.f64 y z) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(+.f64 y (-.f64 z (*.f64 1 (*.f64 z (log.f64 t))))) |
(+.f64 z (-.f64 y (*.f64 z (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) y) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
x |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 z x) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z x) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t))) |
(-.f64 x (-.f64 (*.f64 z (log.f64 t)) z)) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
y |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(+.f64 y x) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 t)) z)))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))) |
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 1 (*.f64 z (log.f64 t)))) |
(-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z x) (-.f64 y (*.f64 z (log.f64 t)))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x)) |
Compiled 11 to 7 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.0b | (*.f64 (-.f64 a 1/2) b) |
Compiled 25 to 16 computations (36% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | x | @ | 0 | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | b | @ | inf | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | a | @ | -inf | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | x | @ | inf | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 1× | batch-egg-rewrite |
| 815× | prod-diff_binary64 |
| 572× | unpow-prod-down_binary64 |
| 416× | log-prod_binary64 |
| 279× | fma-def_binary64 |
| 244× | pow2_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 181 | 8 |
| 2 | 2485 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (+.f64 a -1/2) b))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 x (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 a -1/2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (pow.f64 (/.f64 1 (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (-.f64 x (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (pow.f64 (/.f64 1 (-.f64 x (*.f64 (+.f64 a -1/2) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (-.f64 x (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (-.f64 x (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (*.f64 x x)) (-.f64 (*.f64 (+.f64 a -1/2) b) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 a -1/2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (+.f64 a -1/2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 a -1/2)) b) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) b) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 a -1/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/2)) (*.f64 (sqrt.f64 (+.f64 a -1/2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 a -1/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2)) (cbrt.f64 (+.f64 a -1/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 a -1/2))) (sqrt.f64 (+.f64 a -1/2)) x))))) |
| 1× | egg-herbie |
| 14× | fma-def_binary64 |
| 7× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | associate-+l+_binary64 |
| 2× | associate-+r+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 253 |
| 1 | 34 | 253 |
| 2 | 46 | 253 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 -1/2 b) x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
| Outputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) x) |
(fma.f64 -1/2 b x) |
(fma.f64 b -1/2 x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x)) |
(fma.f64 (+.f64 a -1/2) b x) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (-.f64 1 (log.f64 t)) z) |
Compiled 30 to 17 computations (43.3% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | inf | (*.f64 (-.f64 1 (log.f64 t)) z) |
| 0.0ms | z | @ | -inf | (*.f64 (-.f64 1 (log.f64 t)) z) |
| 0.0ms | z | @ | 0 | (*.f64 (-.f64 1 (log.f64 t)) z) |
| 0.0ms | t | @ | 0 | (*.f64 (-.f64 1 (log.f64 t)) z) |
| 0.0ms | t | @ | inf | (*.f64 (-.f64 1 (log.f64 t)) z) |
| 1× | batch-egg-rewrite |
| 685× | pow1_binary64 |
| 633× | add-log-exp_binary64 |
| 633× | log1p-expm1-u_binary64 |
| 633× | expm1-log1p-u_binary64 |
| 621× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 9 |
| 1 | 139 | 9 |
| 2 | 1689 | 9 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 (log.f64 t)) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (neg.f64 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (+.f64 (log.f64 t) (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 3))) (+.f64 1 (+.f64 (log.f64 t) (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 2))) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 (E.f64) t) z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 1 (log.f64 t)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) |
| 1× | egg-herbie |
| 3030× | fma-neg_binary64 |
| 722× | fma-def_binary64 |
| 542× | unsub-neg_binary64 |
| 310× | sub-neg_binary64 |
| 292× | distribute-rgt-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 104 |
| 1 | 40 | 72 |
| 2 | 84 | 72 |
| 3 | 214 | 72 |
| 4 | 616 | 72 |
| 5 | 1660 | 72 |
| 6 | 4582 | 72 |
| 7 | 5968 | 72 |
| 8 | 6528 | 72 |
| 9 | 6694 | 72 |
| 10 | 6755 | 72 |
| 11 | 6764 | 72 |
| 12 | 6764 | 72 |
| 13 | 6772 | 72 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
| Outputs |
|---|
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 0.0b | (*.f64 (-.f64 a 1/2) b) | |
| 0.3b | (*.f64 (-.f64 1 (log.f64 t)) z) |
Compiled 44 to 26 computations (40.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | b | @ | inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| 1× | batch-egg-rewrite |
| 648× | log-prod_binary64 |
| 454× | fma-def_binary64 |
| 370× | pow2_binary64 |
| 253× | pow1/3_binary64 |
| 252× | expm1-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 16 |
| 1 | 281 | 16 |
| 2 | 3718 | 16 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) 2) (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b)) (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 (-.f64 1 (log.f64 t)) (*.f64 z (*.f64 (+.f64 a -1/2) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b)) (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1)) (pow.f64 (exp.f64 b) (+.f64 a -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (/.f64 (E.f64) t) z) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (pow.f64 (/.f64 (E.f64) t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 a -1/2)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1 (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) b) 1 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 a -1/2)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2) (*.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) b) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 a -1/2)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/2)) (*.f64 (sqrt.f64 (+.f64 a -1/2)) b) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (sqrt.f64 b)) (sqrt.f64 b) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2)) (cbrt.f64 (+.f64 a -1/2)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 a -1/2))) (sqrt.f64 (+.f64 a -1/2)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2)) (cbrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b)))))) |
| 1× | egg-herbie |
| 1027× | unsub-neg_binary64 |
| 446× | fma-def_binary64 |
| 418× | distribute-neg-in_binary64 |
| 418× | fma-neg_binary64 |
| 304× | distribute-neg-out_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 529 |
| 1 | 82 | 437 |
| 2 | 147 | 437 |
| 3 | 313 | 437 |
| 4 | 888 | 437 |
| 5 | 2344 | 437 |
| 6 | 4473 | 437 |
| 7 | 6043 | 437 |
| 8 | 7017 | 437 |
| 9 | 7621 | 437 |
| 10 | 7871 | 437 |
| 11 | 7943 | 437 |
| 12 | 7963 | 437 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 -1/2 b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 -1/2 b)) |
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 b -1/2)) |
(fma.f64 b -1/2 (*.f64 z (-.f64 1 (log.f64 t)))) |
(-.f64 (fma.f64 b -1/2 z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (*.f64 (-.f64 1 (log.f64 t)) z))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 a b))) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(fma.f64 (+.f64 a -1/2) b (*.f64 z (-.f64 1 (log.f64 t)))) |
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b)) |
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t))) |
Compiled 9546 to 4620 computations (51.6% saved)
29 alts after pruning (25 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 472 | 18 | 490 |
| Fresh | 9 | 7 | 16 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 4 | 4 |
| Total | 482 | 29 | 511 |
| Status | Error | Program |
|---|---|---|
| 48.4b | x | |
| ▶ | 35.0b | (+.f64 y x) |
| 28.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) | |
| 49.6b | y | |
| ▶ | 30.7b | (fma.f64 (+.f64 a -1/2) b x) |
| ▶ | 49.3b | (+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) |
| ✓ | 55.5b | (*.f64 a b) |
| ✓ | 30.7b | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| 18.3b | (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) | |
| 46.4b | (-.f64 z (*.f64 z (log.f64 t))) | |
| 29.2b | (fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b)) | |
| 46.4b | (*.f64 (-.f64 1 (log.f64 t)) z) | |
| ▶ | 44.3b | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 48.9b | (fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 a -1/2) b)) | |
| 31.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b)) | |
| 35.8b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) | |
| ▶ | 0.4b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) |
| 16.9b | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) | |
| ✓ | 0.4b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) (*.f64 (-.f64 a 1/2) b)) |
| 33.5b | (+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))) | |
| 31.8b | (+.f64 y (*.f64 (-.f64 a 1/2) b)) | |
| 37.9b | (+.f64 (*.f64 -1/2 b) x) | |
| 50.5b | (+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) | |
| 45.2b | (*.f64 (-.f64 a 1/2) b) | |
| ✓ | 33.1b | (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
| 16.2b | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) | |
| 16.9b | (+.f64 x (fma.f64 (+.f64 a -1/2) b y)) | |
| 42.4b | (+.f64 y (*.f64 a b)) | |
| 34.1b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 (log.f64 t) (sqrt.f64 z)) (sqrt.f64 z))) (*.f64 (-.f64 a 1/2) b)) |
Compiled 849 to 630 computations (25.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t))) |
| ✓ | 0.4b | (*.f64 (cbrt.f64 z) (log.f64 t)) |
| ✓ | 0.5b | (pow.f64 (cbrt.f64 z) 2) |
| ✓ | 0.5b | (cbrt.f64 z) |
Compiled 91 to 35 computations (61.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | z | @ | -inf | (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t))) |
| 2.0ms | t | @ | 0 | (*.f64 (cbrt.f64 z) (log.f64 t)) |
| 1.0ms | z | @ | -inf | (pow.f64 (cbrt.f64 z) 2) |
| 1.0ms | z | @ | -inf | (*.f64 (cbrt.f64 z) (log.f64 t)) |
| 1.0ms | z | @ | 0 | (*.f64 (cbrt.f64 z) (log.f64 t)) |
| 1× | batch-egg-rewrite |
| 742× | pow1_binary64 |
| 683× | add-log-exp_binary64 |
| 683× | log1p-expm1-u_binary64 |
| 683× | expm1-log1p-u_binary64 |
| 667× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 179 | 23 |
| 2 | 1969 | 23 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 z) |
(pow.f64 (cbrt.f64 z) 2) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 z) 1/3) (pow.f64 (sqrt.f64 z) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 z) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (*.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (*.f64 (cbrt.f64 (cbrt.f64 z)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z))) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (*.f64 (pow.f64 z 1/6) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 z)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 z) (log.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (log.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (log.f64 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 t (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 z (pow.f64 (log.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 t) 3) z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 t (cbrt.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 z) (log.f64 t)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (log.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (log.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (log.f64 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (log.f64 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (log.f64 t) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 z) (log.f64 t)) 3) (*.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (log.f64 t)))))))) |
| 1× | egg-herbie |
| 546× | fma-neg_binary64 |
| 537× | unsub-neg_binary64 |
| 527× | fma-def_binary64 |
| 347× | distribute-rgt-out--_binary64 |
| 323× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 240 |
| 1 | 62 | 240 |
| 2 | 164 | 240 |
| 3 | 439 | 240 |
| 4 | 1274 | 240 |
| 5 | 3216 | 240 |
| 6 | 5887 | 240 |
| 7 | 7627 | 240 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
| Outputs |
|---|
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 t)) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (log.f64 (/.f64 1 t)))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) |
(*.f64 (cbrt.f64 z) (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 z (log.f64 t)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 z (log.f64 t)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z) |
(*.f64 z (log.f64 t)) |
Compiled 11 to 7 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 0.0b | (*.f64 (-.f64 a 1/2) b) |
Compiled 25 to 16 computations (36% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | a | @ | -inf | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | b | @ | inf | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | a | @ | 0 | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | z | @ | -inf | (+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| 1× | batch-egg-rewrite |
| 815× | prod-diff_binary64 |
| 572× | unpow-prod-down_binary64 |
| 416× | log-prod_binary64 |
| 279× | fma-def_binary64 |
| 244× | pow2_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 181 | 8 |
| 2 | 2485 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 (+.f64 a -1/2) b))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 a -1/2) b z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 a -1/2) b z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)) 2) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b z)) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (pow.f64 (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (-.f64 z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (pow.f64 (/.f64 1 (-.f64 z (*.f64 (+.f64 a -1/2) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 a -1/2) b z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 2) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b z))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 z (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (*.f64 z z) (*.f64 z (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (-.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (-.f64 z (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (*.f64 z z)) (-.f64 (*.f64 (+.f64 a -1/2) b) z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 a -1/2) b z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z z (*.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) z))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 z (*.f64 (+.f64 a -1/2) b)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 a -1/2) b z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (+.f64 a -1/2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 a -1/2)) b) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 a -1/2) b z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) b) 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) b) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 a -1/2)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/2)) (*.f64 (sqrt.f64 (+.f64 a -1/2)) b) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 a -1/2)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (sqrt.f64 b)) (sqrt.f64 b) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2)) (cbrt.f64 (+.f64 a -1/2)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 a -1/2))) (sqrt.f64 (+.f64 a -1/2)) z))))) |
| 1× | egg-herbie |
| 14× | fma-def_binary64 |
| 7× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | associate-+l+_binary64 |
| 2× | associate-+r+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 253 |
| 1 | 34 | 253 |
| 2 | 46 | 253 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
| Outputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 -1/2 b) z) |
(fma.f64 -1/2 b z) |
(fma.f64 b -1/2 z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) |
(fma.f64 (+.f64 a -1/2) b z) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
(+.f64 (*.f64 (-.f64 a 1/2) b) z) |
(fma.f64 (+.f64 a -1/2) b z) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (fma.f64 (+.f64 a -1/2) b x) |
Compiled 19 to 12 computations (36.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
| ✓ | 0.2b | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 0.3b | (*.f64 (-.f64 1 (log.f64 t)) z) |
Compiled 50 to 31 computations (38% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 1.0ms | z | @ | 0 | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 1.0ms | t | @ | 0 | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 1.0ms | t | @ | -inf | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 1.0ms | t | @ | inf | (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
| 1× | batch-egg-rewrite |
| 825× | pow1_binary64 |
| 766× | add-log-exp_binary64 |
| 765× | log1p-expm1-u_binary64 |
| 765× | expm1-log1p-u_binary64 |
| 750× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 20 |
| 1 | 205 | 20 |
| 2 | 2134 | 20 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (neg.f64 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (log.f64 t)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2) (*.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (*.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2)) (cbrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 3))) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 2))) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 (E.f64) t) z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 1 (log.f64 t)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))))) |
| 1× | egg-herbie |
| 3030× | fma-neg_binary64 |
| 724× | fma-def_binary64 |
| 542× | unsub-neg_binary64 |
| 311× | sub-neg_binary64 |
| 292× | distribute-rgt-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 228 |
| 1 | 46 | 196 |
| 2 | 89 | 196 |
| 3 | 218 | 196 |
| 4 | 619 | 196 |
| 5 | 1655 | 196 |
| 6 | 4557 | 196 |
| 7 | 5927 | 196 |
| 8 | 6477 | 196 |
| 9 | 6643 | 196 |
| 10 | 6704 | 196 |
| 11 | 6713 | 196 |
| 12 | 6713 | 196 |
| 13 | 6721 | 196 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
| Outputs |
|---|
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(-.f64 z (*.f64 (log.f64 t) z)) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)) |
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))))) |
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) |
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z))) |
Compiled 5131 to 2834 computations (44.8% saved)
28 alts after pruning (21 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 300 | 6 | 306 |
| Fresh | 5 | 15 | 20 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 6 | 8 |
| Total | 307 | 28 | 335 |
| Status | Error | Program |
|---|---|---|
| 48.4b | x | |
| ✓ | 35.0b | (+.f64 y x) |
| 28.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) | |
| 49.6b | y | |
| ✓ | 30.7b | (fma.f64 (+.f64 a -1/2) b x) |
| 61.4b | z | |
| 50.4b | (+.f64 y (*.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))) | |
| ✓ | 49.3b | (+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) |
| ✓ | 55.5b | (*.f64 a b) |
| ✓ | 30.7b | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| ▶ | 18.3b | (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
| 50.5b | (+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) | |
| ▶ | 16.2b | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 31.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b)) | |
| 35.8b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) | |
| ▶ | 16.9b | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| ✓ | 0.4b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) (*.f64 (-.f64 a 1/2) b)) |
| 31.8b | (+.f64 y (*.f64 (-.f64 a 1/2) b)) | |
| ▶ | 33.5b | (+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))) |
| 33.4b | (+.f64 y (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))))) | |
| 34.1b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 (log.f64 t) (sqrt.f64 z)) (sqrt.f64 z))) (*.f64 (-.f64 a 1/2) b)) | |
| 37.9b | (+.f64 (*.f64 -1/2 b) x) | |
| 51.1b | (+.f64 (*.f64 -1/2 b) z) | |
| ✓ | 33.1b | (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
| 46.4b | (-.f64 z (*.f64 z (log.f64 t))) | |
| 46.4b | (*.f64 (-.f64 1 (log.f64 t)) z) | |
| 16.9b | (+.f64 x (fma.f64 (+.f64 a -1/2) b y)) | |
| ▶ | 42.4b | (+.f64 y (*.f64 a b)) |
Compiled 724 to 540 computations (25.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 a 1/2) b) | |
| ✓ | 0.0b | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
Compiled 39 to 18 computations (53.8% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | a | @ | 0 | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | y | @ | -inf | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | z | @ | inf | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | z | @ | -inf | (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| 1× | batch-egg-rewrite |
| 803× | fma-def_binary64 |
| 670× | log-prod_binary64 |
| 392× | fma-neg_binary64 |
| 268× | expm1-udef_binary64 |
| 268× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 16 |
| 1 | 283 | 14 |
| 2 | 4285 | 14 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) (pow.f64 (cbrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) 2) (cbrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) (sqrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 x z)) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z))) (pow.f64 (+.f64 y (+.f64 x z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z))) (pow.f64 (+.f64 y (+.f64 x z)) 2)) (+.f64 (pow.f64 (+.f64 y (+.f64 x z)) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b))) (-.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 x z)) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z))) (pow.f64 (+.f64 y (+.f64 x z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 x z)) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (*.f64 (+.f64 y (+.f64 x z)) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 y (+.f64 x z)) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z))) (pow.f64 (+.f64 y (+.f64 x z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y (+.f64 x z)) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (+.f64 z (-.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 3)) (fma.f64 z z (-.f64 (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) (*.f64 z (fma.f64 (+.f64 a -1/2) b (+.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))) (-.f64 z (fma.f64 (+.f64 a -1/2) b (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (pow.f64 (+.f64 y (+.f64 x z)) 2)) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (*.f64 (exp.f64 (+.f64 y x)) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (*.f64 (exp.f64 (+.f64 y x)) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 x z)))) (pow.f64 (exp.f64 b) (+.f64 a -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y (+.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y (+.f64 x z)))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (exp.f64 (+.f64 y (+.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 a -1/2)) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (+.f64 1 (expm1.f64 (+.f64 y (+.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 (+.f64 y x)) (pow.f64 (exp.f64 b) (+.f64 a -1/2))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 (+.f64 y x)) (pow.f64 (exp.f64 b) (+.f64 a -1/2))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b z) (+.f64 y x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y x) 1 (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (+.f64 x z)) 1 (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) b) 1 (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y x) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y (+.f64 x z)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 z y) (+.f64 x (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (cbrt.f64 (+.f64 y x)) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) b) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 y (+.f64 x z))) (pow.f64 (cbrt.f64 (+.f64 y (+.f64 x z))) 2) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 x z))) 2) (cbrt.f64 (+.f64 y (+.f64 x z))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 a -1/2)) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y x)) (sqrt.f64 (+.f64 y x)) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/2)) (*.f64 (sqrt.f64 (+.f64 a -1/2)) b) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y (+.f64 x z))) (sqrt.f64 (+.f64 y (+.f64 x z))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 a -1/2)) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x y) (*.f64 y y))) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (+.f64 y x) 3)) (/.f64 1 (fma.f64 (+.f64 y x) (-.f64 (+.f64 y x) z) (*.f64 z z))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (/.f64 1 (-.f64 y x)) (+.f64 z (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 z z) (pow.f64 (+.f64 y x) 2)) (/.f64 1 (-.f64 z (+.f64 y x))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x)))) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 z y)) (cbrt.f64 (+.f64 z y))) (cbrt.f64 (+.f64 z y)) (+.f64 x (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 y x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 z y)) (sqrt.f64 (+.f64 z y)) (+.f64 x (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (sqrt.f64 b)) (sqrt.f64 b) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2)) (cbrt.f64 (+.f64 a -1/2)) (+.f64 y (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 a -1/2))) (sqrt.f64 (+.f64 a -1/2)) (+.f64 y (+.f64 x z))))))) |
| 1× | egg-herbie |
| 139× | associate-+l+_binary64 |
| 74× | fma-def_binary64 |
| 71× | associate-+r+_binary64 |
| 48× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 709 |
| 1 | 64 | 709 |
| 2 | 156 | 709 |
| 3 | 289 | 709 |
| 4 | 390 | 709 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y x)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(fma.f64 (-.f64 a 1/2) b (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
z |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 x z)) |
(fma.f64 (-.f64 a 1/2) b (+.f64 x z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y z)) |
(+.f64 z (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))) |
(fma.f64 -1/2 b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 b -1/2 y)) |
(+.f64 y (fma.f64 b -1/2 (+.f64 x z))) |
(+.f64 y (+.f64 x (fma.f64 b -1/2 z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x)))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 x z)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x))) |
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z))) |
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 y (*.f64 a b)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | -inf | (+.f64 y (*.f64 a b)) |
| 0.0ms | y | @ | 0 | (+.f64 y (*.f64 a b)) |
| 0.0ms | a | @ | inf | (+.f64 y (*.f64 a b)) |
| 0.0ms | a | @ | -inf | (+.f64 y (*.f64 a b)) |
| 0.0ms | a | @ | 0 | (+.f64 y (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 713× | pow1_binary64 |
| 661× | add-log-exp_binary64 |
| 661× | log1p-expm1-u_binary64 |
| 661× | expm1-log1p-u_binary64 |
| 646× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 128 | 5 |
| 2 | 1779 | 5 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 y (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y y) (-.f64 y (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b y)) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (cbrt.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b y)) (sqrt.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 y y (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y y (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) y))) (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 y (*.f64 a b)) (-.f64 (*.f64 y y) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 a b) 3)) (fma.f64 y y (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 y y) (*.f64 y (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 a b) 2)) (-.f64 y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (fma.f64 y y (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (-.f64 (*.f64 a b) y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 a b)))))) |
| 1× | egg-herbie |
| 2× | fma-def_binary64 |
| 1× | +-commutative_binary64 |
| 1× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 159 |
| 1 | 9 | 159 |
| 2 | 10 | 159 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
y |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
y |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
y |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
y |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
(+.f64 (*.f64 a b) y) |
| Outputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
y |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
y |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
y |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
y |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(*.f64 a b) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
(+.f64 (*.f64 a b) y) |
(fma.f64 a b y) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 a 1/2) b) | |
| ✓ | 0.0b | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
Compiled 31 to 17 computations (45.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | -inf | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | a | @ | 0 | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| 0.0ms | b | @ | inf | (+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| 1× | batch-egg-rewrite |
| 546× | fma-def_binary64 |
| 543× | log-prod_binary64 |
| 421× | pow-prod-down_binary64 |
| 320× | pow2_binary64 |
| 273× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 13 |
| 1 | 232 | 11 |
| 2 | 3379 | 11 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 y x) 2) (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) 2) (cbrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) (sqrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (/.f64 1 (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)) (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b))) (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (+.f64 y x) (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2)) (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) (neg.f64 (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2) (*.f64 y (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 (+.f64 a -1/2) b x) 2)) (-.f64 y (fma.f64 (+.f64 a -1/2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 a -1/2) b) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)) (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 (+.f64 a -1/2) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 y (-.f64 x (*.f64 (+.f64 a -1/2) b))) (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 (+.f64 a -1/2) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 y) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (*.f64 (exp.f64 x) (pow.f64 (exp.f64 b) (+.f64 a -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y x))) (pow.f64 (exp.f64 b) (+.f64 a -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 y x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (exp.f64 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 a -1/2)) (+.f64 1 (expm1.f64 (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/2) b))) (+.f64 1 (expm1.f64 (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 b) (+.f64 a -1/2))) (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 a -1/2) b x)) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (exp.f64 x) (pow.f64 (exp.f64 b) (+.f64 a -1/2))) (+.f64 1 (expm1.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 y (fma.f64 (+.f64 a -1/2) b x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (*.f64 (fma.f64 (+.f64 a -1/2) b x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (+.f64 y (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y x) 1 (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/2) b (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 a -1/2) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) b) 1 (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (*.f64 (fma.f64 (+.f64 a -1/2) b x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (+.f64 y (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 y x) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 a -1/2) b) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (+.f64 a -1/2) b x) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (*.f64 (cbrt.f64 b) (+.f64 a -1/2)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (*.f64 (fma.f64 (+.f64 a -1/2) b x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 y) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 y) (*.f64 (fma.f64 (+.f64 a -1/2) b x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) 2) (cbrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (+.f64 y (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (+.f64 y (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) b) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (cbrt.f64 (+.f64 y x)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 a -1/2)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 (+.f64 a -1/2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (fma.f64 (+.f64 a -1/2) b x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (sqrt.f64 (*.f64 (+.f64 a -1/2) b)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 y (*.f64 (+.f64 a -1/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/2)) (*.f64 (sqrt.f64 (+.f64 a -1/2)) b) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y x)) (sqrt.f64 (+.f64 y x)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 y y (*.f64 x (-.f64 x y)))) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (/.f64 1 (-.f64 y x)) (*.f64 (+.f64 a -1/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) 2) (cbrt.f64 (fma.f64 (+.f64 a -1/2) b x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) (sqrt.f64 (fma.f64 (+.f64 a -1/2) b x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/2) (sqrt.f64 b)) (sqrt.f64 b) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2)) (cbrt.f64 (+.f64 a -1/2)) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 a -1/2))) (sqrt.f64 (+.f64 a -1/2)) (+.f64 y x)))))) |
| 1× | egg-herbie |
| 34× | fma-def_binary64 |
| 25× | associate-+l+_binary64 |
| 18× | +-commutative_binary64 |
| 18× | associate-+r+_binary64 |
| 3× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 450 |
| 1 | 48 | 450 |
| 2 | 93 | 450 |
| 3 | 123 | 450 |
| 4 | 127 | 450 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) y) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 b) (+.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 y x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 a 1/2) b) x) |
(fma.f64 (+.f64 a -1/2) b x) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
y |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) y) |
(fma.f64 (+.f64 a -1/2) b y) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
x |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 -1/2 b) (+.f64 y x)) |
(fma.f64 -1/2 b (+.f64 x y)) |
(+.f64 x (fma.f64 b -1/2 y)) |
(+.f64 y (fma.f64 b -1/2 x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(*.f64 a b) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y x))) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y x) |
(+.f64 x y) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(*.f64 (-.f64 a 1/2) b) |
(*.f64 (+.f64 a -1/2) b) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x)) |
(+.f64 (fma.f64 (+.f64 a -1/2) b y) x) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 0.3b | (*.f64 (-.f64 1 (log.f64 t)) z) |
Compiled 41 to 22 computations (46.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| 1× | batch-egg-rewrite |
| 943× | prod-diff_binary64 |
| 444× | log-prod_binary64 |
| 308× | fma-def_binary64 |
| 298× | pow-prod-down_binary64 |
| 252× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 10 |
| 1 | 189 | 10 |
| 2 | 2517 | 10 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 1 (log.f64 t)) z x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) 2) (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 (-.f64 1 (log.f64 t)) (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 x x)) (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (+.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) (-.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1)) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (/.f64 (E.f64) t) z) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (/.f64 (E.f64) t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 (log.f64 t)) z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (log.f64 t)) z x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (-.f64 1 (log.f64 t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 2)) (*.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 2))) (cbrt.f64 (-.f64 1 (log.f64 t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))) x))))) |
| 1× | egg-herbie |
| 988× | distribute-rgt-in_binary64 |
| 788× | unsub-neg_binary64 |
| 437× | sub-neg_binary64 |
| 399× | distribute-neg-in_binary64 |
| 374× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 268 |
| 1 | 54 | 200 |
| 2 | 100 | 200 |
| 3 | 242 | 200 |
| 4 | 700 | 200 |
| 5 | 1886 | 200 |
| 6 | 4551 | 200 |
| 7 | 6149 | 200 |
| 8 | 6988 | 200 |
| 9 | 7394 | 200 |
| 10 | 7579 | 200 |
| 11 | 7617 | 200 |
| 12 | 7623 | 200 |
| 13 | 7623 | 200 |
| 14 | 7623 | 200 |
| 15 | 7646 | 200 |
| 16 | 7646 | 200 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
x |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
x |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 z (-.f64 1 (log.f64 t))) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
x |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x) |
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x) |
(fma.f64 z (-.f64 1 (log.f64 t)) x) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 1 (pow.f64 (log.f64 t) 2)) |
| ✓ | 0.2b | (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) |
| ✓ | 0.5b | (pow.f64 (log.f64 t) 2) |
| ✓ | 0.8b | (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
Compiled 63 to 39 computations (38.1% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | t | @ | inf | (-.f64 1 (pow.f64 (log.f64 t) 2)) |
| 3.0ms | t | @ | -inf | (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
| 2.0ms | t | @ | 0 | (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
| 2.0ms | t | @ | inf | (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
| 2.0ms | z | @ | 0 | (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
| 1× | batch-egg-rewrite |
| 556× | log-prod_binary64 |
| 380× | prod-diff_binary64 |
| 353× | pow-prod-down_binary64 |
| 293× | pow2_binary64 |
| 248× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 47 |
| 1 | 238 | 36 |
| 2 | 3195 | 36 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))) |
(pow.f64 (log.f64 t) 2) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (/.f64 (+.f64 1 (log.f64 t)) z)) (/.f64 (pow.f64 (log.f64 t) 2) (/.f64 (+.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (/.f64 (+.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (*.f64 z (/.f64 1 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (/.f64 1 (+.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (/.f64 1 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (/.f64 1 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (neg.f64 z)) (/.f64 1 (+.f64 (neg.f64 (log.f64 t)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 (log.f64 t))) (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (log.f64 t)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 1) (/.f64 z (+.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z 1) (-.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (+.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (+.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (log.f64 t))) -2) (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (cbrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (pow.f64 (cbrt.f64 (+.f64 1 (log.f64 t))) 2)) (/.f64 z (cbrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (pow.f64 (cbrt.f64 (+.f64 1 (log.f64 t))) 2)) (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (cbrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 2) (pow.f64 (cbrt.f64 (+.f64 1 (log.f64 t))) 2)) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (pow.f64 (cbrt.f64 (+.f64 1 (log.f64 t))) 2)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (cbrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 1 (log.f64 t)) -1/2) (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (sqrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (sqrt.f64 (+.f64 1 (log.f64 t)))) (/.f64 z (sqrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (sqrt.f64 (+.f64 1 (log.f64 t)))) (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (sqrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 2) (sqrt.f64 (+.f64 1 (log.f64 t)))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) (sqrt.f64 (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (-.f64 1 (pow.f64 (log.f64 t) 2))) (-.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (pow.f64 (log.f64 t) 3))) (fma.f64 (log.f64 t) (-.f64 (log.f64 t) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 3) (pow.f64 (+.f64 1 (log.f64 t)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 (neg.f64 (log.f64 t)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 3) (pow.f64 (+.f64 1 (log.f64 t)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (log.f64 t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 t (log.f64 t))) 2)) (log.f64 (cbrt.f64 (pow.f64 t (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 t (log.f64 t)))) (log.f64 (sqrt.f64 (pow.f64 t (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (log.f64 t) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 t) (log.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 t) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 t)) 4) (cbrt.f64 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 t) 2)) (pow.f64 (cbrt.f64 (log.f64 t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 t)) (pow.f64 (log.f64 t) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 t) 3/2) (sqrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 t) (cbrt.f64 (pow.f64 (log.f64 t) 2))) (cbrt.f64 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 t) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 t (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 t) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (log.f64 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (pow.f64 (log.f64 t) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (log.f64 t) 2))) 2) (cbrt.f64 (+.f64 1 (pow.f64 (log.f64 t) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (log.f64 t)) (hypot.f64 1 (log.f64 t)) -1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))) z)) 2)) (log.f64 (cbrt.f64 (pow.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))) z))) (log.f64 (sqrt.f64 (pow.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 6)) z) (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 4)) z) (+.f64 1 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 6))) (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 4))) (+.f64 1 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (neg.f64 (pow.f64 (log.f64 t) 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t)))) 2)) (log.f64 (cbrt.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))))) (log.f64 (sqrt.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) 2) (cbrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) (sqrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (log.f64 t) 6)) (/.f64 1 (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (log.f64 t) 4)) (/.f64 1 (+.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2)) (-.f64 1 (pow.f64 (log.f64 t) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (pow.f64 (log.f64 t) 2)) (-.f64 1 (pow.f64 (log.f64 t) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (log.f64 t) 6)) (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (log.f64 t) 4)) (+.f64 1 (pow.f64 (log.f64 t) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (log.f64 t) 6))) (neg.f64 (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (log.f64 t) 4))) (neg.f64 (+.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) 3)) (+.f64 1 (-.f64 (pow.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) 2) (neg.f64 (pow.f64 (log.f64 t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (neg.f64 (pow.f64 (log.f64 t) 2)) 2)) (-.f64 1 (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (pow.f64 (hypot.f64 (log.f64 t) (pow.f64 (log.f64 t) 2)) 2)) (-.f64 1 (pow.f64 (log.f64 t) 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (pow.f64 (log.f64 t) 2)) (-.f64 1 (pow.f64 (log.f64 t) 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (E.f64) (pow.f64 t (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (pow.f64 (log.f64 t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (neg.f64 (pow.f64 (log.f64 t) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 (log.f64 t) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 t) (neg.f64 (log.f64 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 t)) 4) (neg.f64 (cbrt.f64 (pow.f64 (log.f64 t) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (pow.f64 (log.f64 t) 2))) 2) (cbrt.f64 (neg.f64 (pow.f64 (log.f64 t) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (pow.f64 (log.f64 t) 2))) (sqrt.f64 (neg.f64 (pow.f64 (log.f64 t) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (log.f64 t)) (log.f64 t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 (log.f64 t) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 t)) 4)) (cbrt.f64 (pow.f64 (log.f64 t) 2)) 1))))) |
| 1× | egg-herbie |
| 789× | fma-def_binary64 |
| 696× | times-frac_binary64 |
| 585× | distribute-rgt-in_binary64 |
| 502× | distribute-lft-in_binary64 |
| 422× | div-sub_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 472 |
| 1 | 57 | 440 |
| 2 | 136 | 440 |
| 3 | 449 | 376 |
| 4 | 2196 | 376 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
| Outputs |
|---|
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) (+.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) (+.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))) |
(/.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) (/.f64 (+.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)) |
(*.f64 (/.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) (+.f64 1 (log.f64 t))) z) |
(*.f64 (/.f64 z (+.f64 1 (log.f64 t))) (-.f64 1 (*.f64 (log.f64 t) (log.f64 t)))) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t)))) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (log.f64 (/.f64 1 t)) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2) |
(pow.f64 (neg.f64 (log.f64 t)) 2) |
(*.f64 (log.f64 t) (log.f64 t)) |
(pow.f64 (log.f64 t) 2) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(*.f64 (-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) z) |
(*.f64 (-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) z) |
(*.f64 (-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) z) |
(-.f64 z (*.f64 (pow.f64 (log.f64 t) 2) z)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (log.f64 (/.f64 1 t)) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
(-.f64 1 (pow.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) 2)) |
(-.f64 1 (pow.f64 (neg.f64 (log.f64 t)) 2)) |
(-.f64 1 (*.f64 (log.f64 t) (log.f64 t))) |
(-.f64 1 (pow.f64 (log.f64 t) 2)) |
Compiled 8891 to 4901 computations (44.9% saved)
30 alts after pruning (21 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 534 | 12 | 546 |
| Fresh | 7 | 9 | 16 |
| Picked | 0 | 1 | 1 |
| Done | 3 | 8 | 11 |
| Total | 544 | 30 | 574 |
| Status | Error | Program |
|---|---|---|
| 16.9b | (+.f64 x (fma.f64 (+.f64 a -1/2) b y)) | |
| 37.9b | (+.f64 (*.f64 -1/2 b) x) | |
| 28.6b | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) | |
| ✓ | 35.0b | (+.f64 y x) |
| 31.1b | (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) | |
| 50.4b | (+.f64 y (*.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))) | |
| ✓ | 33.1b | (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
| 49.6b | y | |
| ✓ | 49.3b | (+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) |
| ✓ | 55.5b | (*.f64 a b) |
| 24.4b | (+.f64 (+.f64 y x) (*.f64 b -1/2)) | |
| ✓ | 30.7b | (+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| ✓ | 18.3b | (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
| 61.4b | z | |
| 46.4b | (*.f64 (-.f64 1 (log.f64 t)) z) | |
| 50.5b | (+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) | |
| 42.4b | (fma.f64 b a y) | |
| 33.1b | (+.f64 y (pow.f64 (/.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) -1)) | |
| 33.1b | (+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (*.f64 z (/.f64 1 (+.f64 1 (log.f64 t)))))) | |
| 48.4b | x | |
| 35.8b | (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) | |
| 33.1b | (+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (/.f64 (+.f64 1 (log.f64 t)) z)))) | |
| 34.2b | (+.f64 y (+.f64 z x)) | |
| 33.1b | (+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t))))) | |
| ✓ | 33.5b | (+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))) |
| 33.4b | (+.f64 y (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))))) | |
| ✓ | 30.7b | (fma.f64 (+.f64 a -1/2) b x) |
| 51.1b | (+.f64 (*.f64 -1/2 b) z) | |
| 46.4b | (-.f64 z (*.f64 z (log.f64 t))) | |
| ✓ | 42.4b | (+.f64 y (*.f64 a b)) |
Compiled 435 to 334 computations (23.2% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (pow.f64 (/.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) -1)) |
(+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) |
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) |
(+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) |
(+.f64 y (*.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
(+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 z (+.f64 1 (log.f64 t))))) |
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))) |
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))) |
(+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (*.f64 z (/.f64 1 (+.f64 1 (log.f64 t)))))) |
(+.f64 y (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (/.f64 (+.f64 1 (log.f64 t)) z)))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (cbrt.f64 (*.f64 z (log.f64 t))) 3)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (pow.f64 (sqrt.f64 (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t))))) 2) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 (log.f64 t) (sqrt.f64 z)) (sqrt.f64 z))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))))) |
(fma.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 a -1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (log.f64 t)))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 (pow.f64 (+.f64 x (+.f64 z y)) 2) (pow.f64 (*.f64 z (log.f64 t)) 2)) (/.f64 1 (+.f64 (*.f64 z (log.f64 t)) (+.f64 x (+.f64 z y))))) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (*.f64 (+.f64 a -1/2) b)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) |
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))) (+.f64 (fma.f64 (+.f64 a -1/2) b x) y)) |
| Outputs |
|---|
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
16 calls:
| 73.0ms | (+.f64 x y) |
| 73.0ms | (*.f64 (-.f64 a 1/2) b) |
| 73.0ms | (log.f64 t) |
| 72.0ms | t |
| 71.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | t |
| 0.1b | 1 | a |
| 0.1b | 1 | b |
| 0.1b | 1 | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 0.1b | 1 | (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) |
| 0.1b | 1 | (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) |
| 0.1b | 1 | (+.f64 x y) |
| 0.1b | 1 | (+.f64 x y) |
| 0.1b | 1 | (log.f64 t) |
| 0.1b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 0.1b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 0.1b | 1 | (-.f64 a 1/2) |
| 0.1b | 1 | (-.f64 a 1/2) |
Compiled 796 to 448 computations (43.7% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (pow.f64 (/.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) -1)) |
(+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) |
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) |
(+.f64 y (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))) |
(+.f64 y (*.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
12 calls:
| 49.0ms | a |
| 49.0ms | y |
| 48.0ms | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 47.0ms | b |
| 47.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | t |
| 0.1b | 1 | a |
| 0.1b | 1 | b |
| 0.1b | 1 | (+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
| 0.1b | 1 | (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) |
| 0.1b | 1 | (+.f64 x y) |
| 0.1b | 1 | (log.f64 t) |
| 0.1b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 0.1b | 1 | (-.f64 a 1/2) |
Compiled 400 to 239 computations (40.3% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
9 calls:
| 403.0ms | a |
| 383.0ms | (log.f64 t) |
| 299.0ms | (*.f64 (-.f64 a 1/2) b) |
| 269.0ms | t |
| 178.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 10.0b | 7 | x |
| 8.8b | 10 | y |
| 3.9b | 4 | z |
| 8.6b | 9 | t |
| 11.6b | 7 | a |
| 6.8b | 3 | b |
| 8.6b | 9 | (log.f64 t) |
| 6.3b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 280 to 164 computations (41.4% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 31.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 32.0ms | -1.079000798125049e+115 | -1.4647571849075647e+110 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) |
9 calls:
| 352.0ms | a |
| 300.0ms | x |
| 210.0ms | (log.f64 t) |
| 185.0ms | t |
| 164.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 9.8b | 13 | x |
| 11.9b | 6 | y |
| 4.4b | 5 | z |
| 8.6b | 9 | t |
| 11.6b | 7 | a |
| 6.8b | 3 | b |
| 8.6b | 9 | (log.f64 t) |
| 6.3b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 268 to 157 computations (41.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 32.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 32.0ms | 7.231178101157275e+110 | 3.4832077831954146e+113 |
| 46.0ms | -1.079000798125049e+115 | -1.4647571849075647e+110 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
10 calls:
| 284.0ms | y |
| 276.0ms | z |
| 200.0ms | (*.f64 (-.f64 a 1/2) b) |
| 193.0ms | x |
| 117.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 12.1b | 7 | x |
| 11.9b | 7 | y |
| 4.9b | 5 | z |
| 13.1b | 5 | t |
| 11.8b | 8 | a |
| 12.2b | 5 | b |
| 13.1b | 5 | (log.f64 t) |
| 12.5b | 6 | (*.f64 (-.f64 a 1/2) b) |
| 12.5b | 6 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 269 to 161 computations (40.1% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 32.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 31.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 32.0ms | -1.079000798125049e+115 | -1.4647571849075647e+110 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
| Outputs |
|---|
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) |
9 calls:
| 417.0ms | y |
| 344.0ms | z |
| 190.0ms | b |
| 163.0ms | (log.f64 t) |
| 155.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 14.0b | 5 | x |
| 12.6b | 7 | y |
| 5.9b | 5 | z |
| 13.1b | 5 | t |
| 14.9b | 3 | a |
| 12.2b | 5 | b |
| 13.1b | 5 | (log.f64 t) |
| 13.5b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 248 to 146 computations (41.1% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 66.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 57.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 57.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 59.0ms | -3.176579558185877e+74 | -9.89780971452777e+67 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 y (fma.f64 (-.f64 a 1/2) b x)) |
| Outputs |
|---|
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) |
9 calls:
| 159.0ms | b |
| 149.0ms | (log.f64 t) |
| 103.0ms | (*.f64 (-.f64 a 1/2) b) |
| 99.0ms | y |
| 89.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 14.0b | 5 | x |
| 12.6b | 7 | y |
| 5.9b | 5 | z |
| 13.1b | 5 | t |
| 14.9b | 3 | a |
| 12.2b | 5 | b |
| 13.1b | 5 | (log.f64 t) |
| 13.5b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 232 to 138 computations (40.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 51.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 31.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 32.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 31.0ms | -3.176579558185877e+74 | -9.89780971452777e+67 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 x (fma.f64 (+.f64 a -1/2) b y)) |
| Outputs |
|---|
(*.f64 (-.f64 1 (log.f64 t)) z) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(*.f64 (-.f64 1 (log.f64 t)) z) |
9 calls:
| 74.0ms | z |
| 62.0ms | (log.f64 t) |
| 61.0ms | t |
| 60.0ms | y |
| 16.0ms | (*.f64 (-.f64 a 1/2) b) |
| Error | Segments | Branch |
|---|---|---|
| 16.2b | 1 | x |
| 13.9b | 5 | y |
| 7.3b | 5 | z |
| 13.3b | 5 | t |
| 16.2b | 1 | a |
| 16.2b | 1 | b |
| 13.3b | 5 | (log.f64 t) |
| 16.2b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 216 to 131 computations (39.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 31.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 31.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 31.0ms | -1.079000798125049e+115 | -1.4647571849075647e+110 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
(-.f64 z (*.f64 z (log.f64 t))) |
| Outputs |
|---|
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(-.f64 z (*.f64 z (log.f64 t))) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(-.f64 z (*.f64 z (log.f64 t))) |
9 calls:
| 155.0ms | z |
| 135.0ms | (log.f64 t) |
| 131.0ms | y |
| 126.0ms | t |
| 31.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 16.2b | 1 | x |
| 13.9b | 5 | y |
| 7.3b | 5 | z |
| 13.3b | 5 | t |
| 16.2b | 1 | a |
| 16.2b | 1 | b |
| 13.3b | 5 | (log.f64 t) |
| 16.2b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 202 to 124 computations (38.6% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 55.0ms | 1.838058303350359e+191 | 7.088712021427915e+191 |
| 55.0ms | 5.780535559917467e+171 | 1.1272917548880851e+173 |
| 55.0ms | 1.1985802653249373e+162 | 1.881199116718915e+162 |
| 55.0ms | -1.079000798125049e+115 | -1.4647571849075647e+110 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(fma.f64 b a y) |
(fma.f64 (+.f64 a -1/2) b x) |
| Outputs |
|---|
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
8 calls:
| 17.0ms | (-.f64 a 1/2) |
| 14.0ms | y |
| 14.0ms | z |
| 14.0ms | t |
| 14.0ms | (*.f64 (-.f64 a 1/2) b) |
| Error | Segments | Branch |
|---|---|---|
| 16.2b | 1 | x |
| 16.2b | 1 | y |
| 16.2b | 1 | z |
| 16.2b | 1 | t |
| 16.2b | 1 | a |
| 16.2b | 1 | b |
| 16.2b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 16.2b | 1 | (-.f64 a 1/2) |
Compiled 188 to 114 computations (39.4% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
8 calls:
| 12.0ms | t |
| 12.0ms | x |
| 12.0ms | y |
| 12.0ms | (*.f64 (-.f64 a 1/2) b) |
| 12.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 16.9b | 1 | x |
| 16.9b | 1 | y |
| 16.9b | 1 | z |
| 16.9b | 1 | t |
| 16.9b | 1 | a |
| 16.9b | 1 | b |
| 16.9b | 1 | (*.f64 (-.f64 a 1/2) b) |
| 16.9b | 1 | (-.f64 a 1/2) |
Compiled 167 to 105 computations (37.1% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
| Outputs |
|---|
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) |
9 calls:
| 81.0ms | z |
| 64.0ms | y |
| 63.0ms | t |
| 63.0ms | a |
| 62.0ms | (*.f64 (-.f64 a 1/2) b) |
| Error | Segments | Branch |
|---|---|---|
| 18.4b | 2 | x |
| 19.1b | 3 | y |
| 22.2b | 4 | z |
| 23.0b | 3 | t |
| 22.9b | 2 | a |
| 22.9b | 2 | b |
| 20.2b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 20.2b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 22.9b | 2 | (-.f64 a 1/2) |
Compiled 160 to 106 computations (33.8% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 59.0ms | -6.771902468724151e+96 | -2.103577861337687e+94 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
(+.f64 x (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 y (*.f64 (-.f64 a 1/2) b)) |
9 calls:
| 62.0ms | (*.f64 (-.f64 a 1/2) b) |
| 59.0ms | (*.f64 (-.f64 a 1/2) b) |
| 32.0ms | (-.f64 a 1/2) |
| 29.0ms | b |
| 27.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 19.0b | 2 | x |
| 20.2b | 2 | y |
| 24.4b | 1 | z |
| 23.1b | 3 | t |
| 22.9b | 2 | a |
| 22.9b | 2 | b |
| 20.2b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 20.2b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 22.9b | 2 | (-.f64 a 1/2) |
Compiled 151 to 101 computations (33.1% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | -496662091710.70233 | -102122859803.84135 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
| Outputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(+.f64 z (*.f64 (-.f64 a 1/2) b)) |
10 calls:
| 70.0ms | a |
| 68.0ms | t |
| 26.0ms | (*.f64 (-.f64 a 1/2) b) |
| 24.0ms | (*.f64 (-.f64 a 1/2) b) |
| 24.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 23.2b | 3 | x |
| 24.4b | 1 | y |
| 24.4b | 1 | z |
| 24.4b | 1 | t |
| 23.1b | 2 | a |
| 24.4b | 1 | b |
| 21.1b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 21.1b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 23.1b | 2 | (-.f64 a 1/2) |
| 23.1b | 2 | (-.f64 a 1/2) |
Compiled 139 to 97 computations (30.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.7280395002479615e+241 | 1.3877897431619241e+249 |
| 0.0ms | -2.5925289642981144e+246 | -8.04237237090524e+231 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
| Outputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(+.f64 (+.f64 y x) (*.f64 b -1/2)) |
(*.f64 (-.f64 a 1/2) b) |
10 calls:
| 87.0ms | (*.f64 (-.f64 a 1/2) b) |
| 23.0ms | (*.f64 (-.f64 a 1/2) b) |
| 22.0ms | a |
| 22.0ms | x |
| 14.0ms | (-.f64 a 1/2) |
| Error | Segments | Branch |
|---|---|---|
| 23.2b | 3 | x |
| 24.4b | 1 | y |
| 24.4b | 1 | z |
| 24.4b | 1 | t |
| 23.1b | 2 | a |
| 24.4b | 1 | b |
| 21.1b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 21.1b | 3 | (*.f64 (-.f64 a 1/2) b) |
| 23.1b | 2 | (-.f64 a 1/2) |
| 23.1b | 2 | (-.f64 a 1/2) |
Compiled 132 to 93 computations (29.5% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.7280395002479615e+241 | 1.3877897431619241e+249 |
| 0.0ms | -2.5925289642981144e+246 | -8.04237237090524e+231 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (*.f64 a b)) |
| Outputs |
|---|
(*.f64 (-.f64 a 1/2) b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) x) |
(*.f64 (-.f64 a 1/2) b) |
10 calls:
| 176.0ms | x |
| 146.0ms | y |
| 113.0ms | z |
| 72.0ms | t |
| 53.0ms | (-.f64 a 1/2) |
| Error | Segments | Branch |
|---|---|---|
| 25.8b | 6 | x |
| 24.8b | 6 | y |
| 30.3b | 7 | z |
| 29.8b | 7 | t |
| 29.2b | 4 | a |
| 26.8b | 3 | b |
| 24.6b | 4 | (*.f64 (-.f64 a 1/2) b) |
| 24.6b | 4 | (*.f64 (-.f64 a 1/2) b) |
| 29.7b | 4 | (-.f64 a 1/2) |
| 29.7b | 4 | (-.f64 a 1/2) |
Compiled 125 to 90 computations (28% saved)
| 3× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.7280395002479615e+241 | 1.3877897431619241e+249 |
| 0.0ms | 1.2044740116895477e+69 | 2.649064612093275e+74 |
| 0.0ms | -2.282022058320515e+164 | -6.398451248098266e+158 |
Compiled 31 to 23 computations (25.8% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 (*.f64 -1/2 b) x) |
| Outputs |
|---|
(+.f64 (*.f64 -1/2 b) x) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) x) |
6 calls:
| 118.0ms | x |
| 82.0ms | t |
| 73.0ms | y |
| 65.0ms | a |
| 47.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 4 | x |
| 27.1b | 2 | y |
| 34.2b | 1 | z |
| 31.4b | 5 | t |
| 30.4b | 3 | a |
| 27.0b | 3 | b |
Compiled 75 to 52 computations (30.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 193.0ms | 3.581614273813202e+144 | 1.7462687195984802e+150 |
| 517.0ms | -1.1316012917006066e+90 | -5.793230486286126e+77 |
Compiled 487 to 384 computations (21.1% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
| Outputs |
|---|
(+.f64 (*.f64 -1/2 b) z) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 b) z) |
6 calls:
| 25.0ms | b |
| 18.0ms | x |
| 17.0ms | y |
| 16.0ms | a |
| 7.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 32.4b | 3 | x |
| 32.7b | 3 | y |
| 34.2b | 1 | z |
| 34.2b | 1 | t |
| 32.8b | 3 | a |
| 28.6b | 3 | b |
Compiled 70 to 49 computations (30% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 84.0ms | 5.077802167764567e+162 | 2.5934996166631358e+165 |
| 76.0ms | -5.278529116794112e+171 | -1.4176031336328746e+170 |
Compiled 391 to 308 computations (21.2% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
(+.f64 y (+.f64 z x)) |
| Outputs |
|---|
(+.f64 y (+.f64 z x)) |
6 calls:
| 7.0ms | z |
| 7.0ms | b |
| 7.0ms | x |
| 6.0ms | a |
| 6.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 34.2b | 1 | x |
| 34.2b | 1 | y |
| 34.2b | 1 | z |
| 34.2b | 1 | t |
| 34.2b | 1 | a |
| 34.2b | 1 | b |
Compiled 65 to 46 computations (29.2% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
(+.f64 y x) |
(*.f64 a b) |
| Outputs |
|---|
(+.f64 y x) |
6 calls:
| 6.0ms | y |
| 6.0ms | a |
| 6.0ms | t |
| 6.0ms | z |
| 6.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 35.0b | 1 | x |
| 35.0b | 1 | y |
| 35.0b | 1 | z |
| 35.0b | 1 | t |
| 35.0b | 1 | a |
| 35.0b | 1 | b |
Compiled 60 to 44 computations (26.7% saved)
| Inputs |
|---|
y |
z |
x |
z |
x |
y |
| Outputs |
|---|
x |
y |
6 calls:
| 68.0ms | z |
| 67.0ms | x |
| 63.0ms | b |
| 50.0ms | t |
| 30.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 37.4b | 2 | x |
| 38.7b | 2 | y |
| 45.5b | 3 | z |
| 44.4b | 4 | t |
| 47.2b | 3 | a |
| 45.0b | 5 | b |
Compiled 54 to 42 computations (22.2% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 96.0ms | -1.2991976777127133e+73 | -1.0762463610299997e+73 |
Compiled 31 to 23 computations (25.8% saved)
Total -13.2b remaining (-26.5%)
Threshold costs -13.2b (-26.5%)
| Inputs |
|---|
y |
z |
| Outputs |
|---|
y |
6 calls:
| 10.0ms | t |
| 7.0ms | x |
| 7.0ms | z |
| 7.0ms | y |
| 7.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 49.6b | 1 | x |
| 49.6b | 1 | y |
| 49.6b | 1 | z |
| 49.6b | 1 | t |
| 49.6b | 1 | a |
| 49.6b | 1 | b |
Compiled 50 to 42 computations (16% saved)
| 1× | egg-herbie |
| 29× | +-commutative_binary64 |
| 8× | sub-neg_binary64 |
| 7× | *-commutative_binary64 |
| 4× | cancel-sign-sub-inv_binary64 |
| 3× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 121 | 981 |
| 1 | 168 | 981 |
| 2 | 181 | 981 |
| 3 | 187 | 981 |
| 4 | 190 | 981 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) (if (<=.f64 z 723117810115727499197671420626820220963495212797038697375978509471344843742730419530005490658811397767337869312) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (-.f64 z (*.f64 (log.f64 t) z))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (*.f64 (-.f64 1 (log.f64 t)) z))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (-.f64 z (*.f64 z (log.f64 t))))))) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(if (<=.f64 x -6771902468724151256238240034288805063216847876138379316274509648228895316468914181899727132426240) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z))) |
(if (<=.f64 x -8137311710588147/16384) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 y (*.f64 (-.f64 a 1/2) b))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 z (*.f64 (-.f64 a 1/2) b)))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (*.f64 (-.f64 a 1/2) b))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -200000000000000000356669989717583673029127285120602785421403055540259005695579907124093741598568592199753794072441956471287615292063257246907506366505126894812266496) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 2000000000000000145062872763058470252316748819293043911036420310958080) (+.f64 y (+.f64 z x)) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (*.f64 -1/2 b) x) (*.f64 (-.f64 a 1/2) b)))) |
(if (<=.f64 b -580000000000000033722630184661133463878305251020914994416977128155269814026240) (+.f64 (*.f64 -1/2 b) x) (if (<=.f64 b 1699999999999999912907609170973020012775018432251201871731878125713115669634488652511760448142731708872264698920231792191774834493090941696901612830720) (+.f64 y (+.f64 z x)) (+.f64 (*.f64 -1/2 b) x))) |
(if (<=.f64 b -145000000000000002979591685358916092394581217200378814710600916039985385387281382394879180920347953091539764948428249073358077267780170530419786619483449974318231768268800) (+.f64 (*.f64 -1/2 b) z) (if (<=.f64 b 2550000000000000183561091238219450347467684430547014150970500851118407997486140508589512196262389270725694048496518539198032633199747913214639423526047800512760250368) (+.f64 y (+.f64 z x)) (+.f64 (*.f64 -1/2 b) z))) |
(+.f64 y (+.f64 z x)) |
(+.f64 y x) |
(if (<=.f64 x -12991976777127133120421183434535556424217825177998009833089197980426174464) x y) |
y |
| Outputs |
|---|
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))) |
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b x))) |
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) (*.f64 b (-.f64 a 1/2))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b)) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 b (-.f64 a 1/2)) (*.f64 z (-.f64 1 (log.f64 t)))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (*.f64 z (-.f64 1 (log.f64 t)))) (+.f64 y (+.f64 x (*.f64 z (-.f64 1 (log.f64 t)))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) (if (<=.f64 z 723117810115727499197671420626820220963495212797038697375978509471344843742730419530005490658811397767337869312) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 -1/2 b)) (if (<=.f64 z 723117810115727499197671420626820220963495212797038697375978509471344843742730419530005490658811397767337869312) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (+.f64 y (+.f64 x (*.f64 z (-.f64 1 (log.f64 t))))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (+.f64 y (+.f64 x (*.f64 z (-.f64 1 (log.f64 t))))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 b -1/2)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (*.f64 -1/2 b)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (+.f64 y (*.f64 z (-.f64 1 (log.f64 t)))))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z)))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (*.f64 z (-.f64 1 (log.f64 t)))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (+.f64 y (*.f64 z (-.f64 1 (log.f64 t)))))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (-.f64 z (*.f64 (log.f64 t) z))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (+.f64 y (-.f64 z (*.f64 (log.f64 t) z))))))) |
(if (<=.f64 z -317657955818587720162925721755210544793329523928047581412085175214617395200) (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (+.f64 y (-.f64 z (*.f64 z (log.f64 t)))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (*.f64 (-.f64 1 (log.f64 t)) z))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (*.f64 z (-.f64 1 (log.f64 t))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (*.f64 z (-.f64 1 (log.f64 t))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z)) (-.f64 z (*.f64 z (log.f64 t))))))) |
(if (<=.f64 z -10790007981250491055490878194108592340900921280169132870909287111190904451335558456620267138778469843306065407508480) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 1198580265324937297578024082678472723460206730899314950808838543748397152151517333087475446648416674386923270454935457428226611959052753586432088813597934797979648) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) (if (<=.f64 z 5780535559917466715301680856846663369147939779611937956604936368383872258084658731178148718162732587634577453763166779983035498853379401106057226277616863137969462461857792) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 183805830335035910361272958135539457878645677282637473950283054529897773224695442798926305282930068796347684369938098605153154462273273421626679267295265690794977220774741349765027997220339712) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z)) (-.f64 z (*.f64 z (log.f64 t))))))) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (-.f64 a 1/2))) |
(+.f64 (+.f64 y x) (*.f64 (-.f64 a 1/2) b)) |
(+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y x)) |
(if (<=.f64 x -6771902468724151256238240034288805063216847876138379316274509648228895316468914181899727132426240) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z))) |
(if (<=.f64 x -6771902468724151256238240034288805063216847876138379316274509648228895316468914181899727132426240) (+.f64 (+.f64 y x) (*.f64 -1/2 b)) (+.f64 (*.f64 b (-.f64 a 1/2)) (+.f64 y z))) |
(if (<=.f64 x -8137311710588147/16384) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 y (*.f64 (-.f64 a 1/2) b))) |
(if (<=.f64 x -8137311710588147/16384) (+.f64 (+.f64 y x) (*.f64 -1/2 b)) (+.f64 y (*.f64 b (-.f64 a 1/2)))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (+.f64 z (*.f64 (-.f64 a 1/2) b)))) |
(if (<=.f64 (*.f64 b (-.f64 a 1/2)) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 b (-.f64 a 1/2)) (if (<=.f64 (*.f64 b (-.f64 a 1/2)) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 -1/2 b)) (+.f64 z (*.f64 b (-.f64 a 1/2))))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 b -1/2)) (*.f64 (-.f64 a 1/2) b))) |
(if (<=.f64 (*.f64 b (-.f64 a 1/2)) -2000000000000000137172103703564102993414188346625929973381646791516038639747754425505775838752679231688970493666459275394749789597812172229456459932366192699143082941239010020801269538891555886778514937042106442934926263917068257100320412740354048) (*.f64 b (-.f64 a 1/2)) (if (<=.f64 (*.f64 b (-.f64 a 1/2)) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (+.f64 y x) (*.f64 -1/2 b)) (*.f64 b (-.f64 a 1/2)))) |
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -200000000000000000356669989717583673029127285120602785421403055540259005695579907124093741598568592199753794072441956471287615292063257246907506366505126894812266496) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 2000000000000000145062872763058470252316748819293043911036420310958080) (+.f64 y (+.f64 z x)) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 (*.f64 -1/2 b) x) (*.f64 (-.f64 a 1/2) b)))) |
(if (<=.f64 (*.f64 b (-.f64 a 1/2)) -200000000000000000356669989717583673029127285120602785421403055540259005695579907124093741598568592199753794072441956471287615292063257246907506366505126894812266496) (*.f64 b (-.f64 a 1/2)) (if (<=.f64 (*.f64 b (-.f64 a 1/2)) 2000000000000000145062872763058470252316748819293043911036420310958080) (+.f64 y (+.f64 z x)) (if (<=.f64 (*.f64 b (-.f64 a 1/2)) 20000000000000001019220591274005456279710505470622733232619203286613548419128326636838181727778134043521316213363512555228359822654904417182365028760483854715262087764856296628876189602931571523608705123012237845488278935519238250121771614208) (+.f64 x (*.f64 -1/2 b)) (*.f64 b (-.f64 a 1/2))))) |
(if (<=.f64 b -580000000000000033722630184661133463878305251020914994416977128155269814026240) (+.f64 (*.f64 -1/2 b) x) (if (<=.f64 b 1699999999999999912907609170973020012775018432251201871731878125713115669634488652511760448142731708872264698920231792191774834493090941696901612830720) (+.f64 y (+.f64 z x)) (+.f64 (*.f64 -1/2 b) x))) |
(if (<=.f64 b -580000000000000033722630184661133463878305251020914994416977128155269814026240) (+.f64 x (*.f64 -1/2 b)) (if (<=.f64 b 1699999999999999912907609170973020012775018432251201871731878125713115669634488652511760448142731708872264698920231792191774834493090941696901612830720) (+.f64 y (+.f64 z x)) (+.f64 x (*.f64 -1/2 b)))) |
(if (<=.f64 b -145000000000000002979591685358916092394581217200378814710600916039985385387281382394879180920347953091539764948428249073358077267780170530419786619483449974318231768268800) (+.f64 (*.f64 -1/2 b) z) (if (<=.f64 b 2550000000000000183561091238219450347467684430547014150970500851118407997486140508589512196262389270725694048496518539198032633199747913214639423526047800512760250368) (+.f64 y (+.f64 z x)) (+.f64 (*.f64 -1/2 b) z))) |
(if (<=.f64 b -145000000000000002979591685358916092394581217200378814710600916039985385387281382394879180920347953091539764948428249073358077267780170530419786619483449974318231768268800) (+.f64 z (*.f64 -1/2 b)) (if (<=.f64 b 2550000000000000183561091238219450347467684430547014150970500851118407997486140508589512196262389270725694048496518539198032633199747913214639423526047800512760250368) (+.f64 y (+.f64 z x)) (+.f64 z (*.f64 -1/2 b)))) |
(+.f64 y (+.f64 z x)) |
(+.f64 y x) |
(if (<=.f64 x -12991976777127133120421183434535556424217825177998009833089197980426174464) x y) |
y |
Compiled 800 to 521 computations (34.9% saved)
| 1× | egg-herbie |
| 866× | fma-neg_binary64 |
| 691× | sub-neg_binary64 |
| 567× | unsub-neg_binary64 |
| 503× | fma-def_binary64 |
| 441× | +-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 24 |
| 1 | 35 | 22 |
| 2 | 106 | 22 |
| 3 | 327 | 21 |
| 4 | 1045 | 20 |
| 5 | 2888 | 20 |
| 6 | 4345 | 20 |
| 7 | 6311 | 20 |
| 8 | 7186 | 20 |
| 9 | 7518 | 20 |
| 10 | 7628 | 20 |
| 11 | 7638 | 20 |
| 12 | 7753 | 20 |
| 1× | node limit |
Compiled 553 to 386 computations (30.2% saved)
(sort x y)
Compiled 714 to 372 computations (47.9% saved)
Loading profile data...