Time bar (total: 1.3min)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.2% | 0.8% | 0 |
| 0% | 99.2% | 0.8% | 1 |
| 0% | 99.2% | 0.8% | 2 |
| 0% | 99.2% | 0.8% | 3 |
| 0% | 99.2% | 0.8% | 4 |
| 0% | 99.2% | 0.8% | 5 |
| 0% | 99.2% | 0.8% | 6 |
| 0% | 99.2% | 0.8% | 7 |
| 0% | 99.2% | 0.8% | 8 |
| 0% | 99.2% | 0.8% | 9 |
| 0% | 99.2% | 0.8% | 10 |
| 0% | 99.2% | 0.8% | 11 |
| 0% | 99.2% | 0.8% | 12 |
| 0% | 99.2% | 0.8% | 13 |
| 0% | 99.2% | 0.8% | 14 |
Compiled 112 to 64 computations (42.9% saved)
| 1× | intervals |
| 529.0ms | 1956× | body | 128 | invalid |
| 68.0ms | 256× | body | 128 | valid |
Compiled 239 to 143 computations (40.2% saved)
| 1× | egg-herbie |
| 759× | fma-neg_binary64 |
| 565× | distribute-rgt-in_binary64 |
| 513× | cancel-sign-sub-inv_binary64 |
| 437× | neg-mul-1_binary64 |
| 217× | distribute-rgt-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 142 |
| 1 | 182 | 136 |
| 2 | 467 | 132 |
| 3 | 2132 | 132 |
| 4 | 4408 | 132 |
| 5 | 5050 | 132 |
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 |
| ▶ | 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| 27.6b | (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) |
Compiled 635 to 326 computations (48.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 6.7b | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| ✓ | 7.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| ✓ | 7.2b | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))) |
| ✓ | 8.7b | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
4 calls:
| 1.4s | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| 718.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| 261.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))) |
| 59.0ms | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
| 1× | rewrite-expression-head |
| 8× | add-sqr-sqrt_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | flip--_binary64 |
| 6× | flip3--_binary64 |
| 6× | add-cube-cbrt_binary64 |
4 calls:
| 7.0ms | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) |
| 1× | egg-herbie |
| 1260× | fma-def_binary64 |
| 238× | sub-neg_binary64 |
| 223× | associate-*r*_binary64 |
| 188× | associate--r+_binary64 |
| 188× | associate--l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1986 | 86745 |
| 1 | 5043 | 86745 |
19 alts after pruning (19 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 494 | 19 | 513 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 496 | 19 | 515 |
| Status | Error | Program |
| 52.5b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 38.0b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (*.f64 k (*.f64 i (*.f64 y y5))))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 i (*.f64 t (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 a (*.f64 t (*.f64 b z)) (*.f64 k (*.f64 y1 (*.f64 i z)))))))))))) | |
| 54.5b | (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x))))))) | |
| 49.9b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 52.6b | (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 a (*.f64 y1 y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b)))))) | |
| 51.6b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5) | |
| ▶ | 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 51.8b | (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2) | |
| 42.1b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (neg.f64 (*.f64 j (-.f64 (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 t y5))) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))))))) | |
| 53.0b | (*.f64 (-.f64 (fma.f64 c (*.f64 y4 y) (fma.f64 a (*.f64 y1 z) (*.f64 y0 (*.f64 j y5)))) (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))))) y3) | |
| 51.3b | (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i) | |
| 48.7b | (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 y1 (*.f64 a y2))))) x) | |
| 51.7b | (*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b)))))) | |
| 35.9b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y4 (*.f64 y1 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 y y3)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (*.f64 k (*.f64 y0 (*.f64 b z))))))))))) (fma.f64 y (*.f64 a (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y4 (*.f64 y1 (*.f64 y3 j)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 a (*.f64 t (*.f64 b z)))))))))))) | |
| 49.4b | (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5)))))) | |
| 54.5b | (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 y (*.f64 a x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))) | |
| 51.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))))) | |
| 53.2b | (neg.f64 (*.f64 y0 (-.f64 (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 j (*.f64 b x)))) (fma.f64 k (*.f64 z b) (fma.f64 c (*.f64 x y2) (*.f64 y3 (*.f64 j y5))))))) | |
| 51.4b | (*.f64 y4 (-.f64 (fma.f64 k (*.f64 y1 y2) (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3)))) (fma.f64 y1 (*.f64 y3 j) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
Compiled 61239 to 6220 computations (89.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 6.7b | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))) |
| ✓ | 7.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| ✓ | 7.2b | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))) |
| ✓ | 8.7b | (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k))) |
4 calls:
| 1.2s | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 629.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))) |
| 401.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))) |
| 68.0ms | (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k))) |
| 1× | rewrite-expression-head |
| 8× | add-sqr-sqrt_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | flip--_binary64 |
| 6× | flip3--_binary64 |
| 6× | add-cube-cbrt_binary64 |
4 calls:
| 12.0ms | (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))) |
| 0.0ms | (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))) |
| 1× | egg-herbie |
| 1262× | fma-def_binary64 |
| 238× | sub-neg_binary64 |
| 223× | associate-*r*_binary64 |
| 189× | associate--r+_binary64 |
| 189× | associate--l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1988 | 86745 |
| 1 | 5046 | 86745 |
19 alts after pruning (18 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 517 | 0 | 517 |
| Fresh | 0 | 18 | 18 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 517 | 19 | 536 |
| Status | Error | Program |
| 52.5b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| 38.0b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (*.f64 k (*.f64 i (*.f64 y y5))))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 i (*.f64 t (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 a (*.f64 t (*.f64 b z)) (*.f64 k (*.f64 y1 (*.f64 i z)))))))))))) | |
| 54.5b | (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x))))))) | |
| 49.9b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 52.6b | (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 a (*.f64 y1 y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b)))))) | |
| 51.6b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5) | |
| ✓ | 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 51.8b | (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2) | |
| 42.1b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (neg.f64 (*.f64 j (-.f64 (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 t y5))) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))))))) | |
| 53.0b | (*.f64 (-.f64 (fma.f64 c (*.f64 y4 y) (fma.f64 a (*.f64 y1 z) (*.f64 y0 (*.f64 j y5)))) (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))))) y3) | |
| 51.3b | (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i) | |
| 48.7b | (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 y1 (*.f64 a y2))))) x) | |
| 51.7b | (*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b)))))) | |
| ▶ | 35.9b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y4 (*.f64 y1 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 y y3)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (*.f64 k (*.f64 y0 (*.f64 b z))))))))))) (fma.f64 y (*.f64 a (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y4 (*.f64 y1 (*.f64 y3 j)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 a (*.f64 t (*.f64 b z)))))))))))) |
| 49.4b | (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5)))))) | |
| 54.5b | (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 y (*.f64 a x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))) | |
| 51.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))))) | |
| 53.2b | (neg.f64 (*.f64 y0 (-.f64 (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 j (*.f64 b x)))) (fma.f64 k (*.f64 z b) (fma.f64 c (*.f64 x y2) (*.f64 y3 (*.f64 j y5))))))) | |
| 51.4b | (*.f64 y4 (-.f64 (fma.f64 k (*.f64 y1 y2) (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3)))) (fma.f64 y1 (*.f64 y3 j) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
Compiled 61644 to 6185 computations (90% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 5.2b | (*.f64 y (*.f64 b x)) |
| ✓ | 5.8b | (*.f64 a (*.f64 t (*.f64 b z))) |
| ✓ | 5.9b | (*.f64 j (*.f64 b x)) |
| ✓ | 6.4b | (*.f64 t (*.f64 b j)) |
4 calls:
| 17.0ms | (*.f64 a (*.f64 t (*.f64 b z))) |
| 11.0ms | (*.f64 t (*.f64 b j)) |
| 8.0ms | (*.f64 j (*.f64 b x)) |
| 8.0ms | (*.f64 y (*.f64 b x)) |
| 1× | rewrite-expression-head |
| 28× | add-cbrt-cube_binary64 |
| 28× | add-exp-log_binary64 |
| 28× | pow1_binary64 |
| 15× | cbrt-unprod_binary64 |
| 15× | prod-exp_binary64 |
4 calls:
| 5.0ms | (*.f64 a (*.f64 t (*.f64 b z))) |
| 4.0ms | (*.f64 y (*.f64 b x)) |
| 3.0ms | (*.f64 t (*.f64 b j)) |
| 3.0ms | (*.f64 j (*.f64 b x)) |
| 1× | egg-herbie |
| 633× | associate-/l/_binary64 |
| 594× | sqr-pow_binary64 |
| 539× | unswap-sqr_binary64 |
| 342× | associate-*r*_binary64 |
| 322× | pow-sqr_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 139 | 1511 |
| 1 | 336 | 1292 |
| 2 | 1240 | 1292 |
| 3 | 1494 | 1292 |
| 4 | 1958 | 1292 |
| 5 | 2879 | 1292 |
| 6 | 4211 | 1292 |
| 7 | 5289 | 1292 |
19 alts after pruning (17 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 112 | 0 | 112 |
| Fresh | 0 | 17 | 17 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 112 | 19 | 131 |
| Status | Error | Program |
| 52.5b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| ▶ | 38.0b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (*.f64 k (*.f64 i (*.f64 y y5))))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 i (*.f64 t (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 a (*.f64 t (*.f64 b z)) (*.f64 k (*.f64 y1 (*.f64 i z)))))))))))) |
| 54.5b | (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x))))))) | |
| 49.9b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 52.6b | (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 a (*.f64 y1 y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b)))))) | |
| 51.6b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5) | |
| ✓ | 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 51.8b | (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2) | |
| 42.1b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (neg.f64 (*.f64 j (-.f64 (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 t y5))) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))))))) | |
| 53.0b | (*.f64 (-.f64 (fma.f64 c (*.f64 y4 y) (fma.f64 a (*.f64 y1 z) (*.f64 y0 (*.f64 j y5)))) (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))))) y3) | |
| 51.3b | (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i) | |
| 48.7b | (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 y1 (*.f64 a y2))))) x) | |
| 51.7b | (*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b)))))) | |
| ✓ | 35.9b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y4 (*.f64 y1 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 y y3)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (*.f64 k (*.f64 y0 (*.f64 b z))))))))))) (fma.f64 y (*.f64 a (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y4 (*.f64 y1 (*.f64 y3 j)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 a (*.f64 t (*.f64 b z)))))))))))) |
| 49.4b | (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5)))))) | |
| 54.5b | (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 y (*.f64 a x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))) | |
| 51.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))))) | |
| 53.2b | (neg.f64 (*.f64 y0 (-.f64 (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 j (*.f64 b x)))) (fma.f64 k (*.f64 z b) (fma.f64 c (*.f64 x y2) (*.f64 y3 (*.f64 j y5))))))) | |
| 51.4b | (*.f64 y4 (-.f64 (fma.f64 k (*.f64 y1 y2) (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3)))) (fma.f64 y1 (*.f64 y3 j) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
Compiled 17318 to 2482 computations (85.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 4.8b | (*.f64 t (*.f64 b z)) |
| ✓ | 5.0b | (*.f64 y (*.f64 y3 y5)) |
| 5.2b | (*.f64 y (*.f64 b x)) | |
| ✓ | 5.7b | (*.f64 a (*.f64 y3 z)) |
3 calls:
| 13.0ms | (*.f64 y (*.f64 y3 y5)) |
| 9.0ms | (*.f64 t (*.f64 b z)) |
| 8.0ms | (*.f64 a (*.f64 y3 z)) |
| 1× | rewrite-expression-head |
| 18× | add-cbrt-cube_binary64 |
| 18× | add-exp-log_binary64 |
| 18× | pow1_binary64 |
| 9× | associate-*l*_binary64 |
| 9× | cbrt-unprod_binary64 |
3 calls:
| 6.0ms | (*.f64 a (*.f64 y3 z)) |
| 4.0ms | (*.f64 y (*.f64 y3 y5)) |
| 4.0ms | (*.f64 t (*.f64 b z)) |
| 1× | egg-herbie |
| 603× | associate-/l/_binary64 |
| 462× | *-commutative_binary64 |
| 361× | sqr-pow_binary64 |
| 353× | unswap-sqr_binary64 |
| 306× | associate-/l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 769 |
| 1 | 251 | 634 |
| 2 | 823 | 634 |
| 3 | 1166 | 634 |
| 4 | 1479 | 634 |
| 5 | 2056 | 634 |
| 6 | 2736 | 634 |
| 7 | 4225 | 634 |
| 8 | 5071 | 634 |
19 alts after pruning (16 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 107 | 0 | 107 |
| Fresh | 0 | 16 | 16 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 107 | 19 | 126 |
| Status | Error | Program |
| 52.5b | (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y) | |
| ✓ | 38.0b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (*.f64 k (*.f64 i (*.f64 y y5))))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 i (*.f64 t (*.f64 j y5)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 a (*.f64 t (*.f64 b z)) (*.f64 k (*.f64 y1 (*.f64 i z)))))))))))) |
| 54.5b | (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x))))))) | |
| 49.9b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 y5) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))) (fma.f64 y0 (*.f64 b x) (fma.f64 y4 (*.f64 y1 y3) (*.f64 i (*.f64 t y5))))) j) | |
| 52.6b | (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 a (*.f64 y1 y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b)))))) | |
| 51.6b | (*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5) | |
| ✓ | 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 b y4) (*.f64 i y5)) (-.f64 (*.f64 t j) (*.f64 y k)))))))) |
| 51.8b | (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2) | |
| 42.1b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (neg.f64 (*.f64 j (-.f64 (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 t y5))) (fma.f64 y4 (*.f64 t b) (*.f64 y1 (*.f64 i x)))))))) | |
| 53.0b | (*.f64 (-.f64 (fma.f64 c (*.f64 y4 y) (fma.f64 a (*.f64 y1 z) (*.f64 y0 (*.f64 j y5)))) (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))))) y3) | |
| 51.3b | (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i) | |
| 48.7b | (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 y1 (*.f64 i j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 y1 (*.f64 a y2))))) x) | |
| 51.7b | (*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b)))))) | |
| ✓ | 35.9b | (-.f64 (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y4 (*.f64 y1 y2)) (fma.f64 y0 (*.f64 y3 (*.f64 j y5)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 y y3)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (*.f64 k (*.f64 y0 (*.f64 b z))))))))))) (fma.f64 y (*.f64 a (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 k (*.f64 y0 (*.f64 y5 y2)) (fma.f64 y4 (*.f64 y1 (*.f64 y3 j)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 a (*.f64 t (*.f64 b z)))))))))))) |
| 49.4b | (*.f64 t (-.f64 (fma.f64 y4 (*.f64 j b) (fma.f64 a (*.f64 y5 y2) (*.f64 c (*.f64 i z)))) (fma.f64 a (*.f64 b z) (fma.f64 c (*.f64 y4 y2) (*.f64 i (*.f64 j y5)))))) | |
| 54.5b | (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 y (*.f64 a x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))) | |
| 51.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))))) | |
| 53.2b | (neg.f64 (*.f64 y0 (-.f64 (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 j (*.f64 b x)))) (fma.f64 k (*.f64 z b) (fma.f64 c (*.f64 x y2) (*.f64 y3 (*.f64 j y5))))))) | |
| 51.4b | (*.f64 y4 (-.f64 (fma.f64 k (*.f64 y1 y2) (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3)))) (fma.f64 y1 (*.f64 y3 j) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2)))))) |
Compiled 15513 to 1697 computations (89.1% saved)
Total 28.9b remaining (96.8%)
Threshold costs 0b (0%)
Compiled 376296 to 201204 computations (46.5% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 6.588297021126285e+125 | 7.224755311291788e+132 | 4.7340441146328203e+126 |
| 6 | 6.229516457506834e-172 | 2.7040357116669236e-171 | 2.1939841572173253e-171 |
| 7 | -6.567843136325481e-276 | -8.876437946597861e-278 | -2.4025835670476306e-276 |
| 10 | -1.5694801884996577e-170 | -1.2650301778176829e-185 | -9.622849633415526e-185 |
| 8 | -6.777406602877888e-161 | -5.736437279102525e-165 | -4.2139772218421345e-164 |
| 9 | -5.984915554758833e-136 | -2.5946701438054e-145 | -4.620735289744297e-142 |
| 6 | -2.700045865983874e-89 | -1.9633554599570585e-90 | -2.289257968400257e-89 |
| 9 | -9.010012655316115e-14 | -8.391811516046736e-22 | -1.2934549413283296e-21 |
| 9 | -1.374566575467286e+132 | -1.793808567814319e+126 | -1.1434668545282551e+132 |
| 9 | -1.9633540002741833e+143 | -2.2875696974739306e+137 | -9.863007287958035e+138 |
| 8 | -1.4731892238422776e+224 | -4.368973747364566e+220 | -4.528176101828275e+220 |
Compiled 17 to 16 computations (5.9% saved)
| 1× | egg-herbie |
| 181× | *-commutative_binary64 |
| 119× | +-commutative_binary64 |
| 98× | sub-neg_binary64 |
| 94× | distribute-rgt-neg-in_binary64 |
| 81× | distribute-lft-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 284 | 1864 |
| 1 | 467 | 1864 |
| 2 | 586 | 1864 |
| 3 | 690 | 1864 |
| 4 | 784 | 1864 |
| 5 | 849 | 1864 |
| 6 | 899 | 1864 |
| 7 | 945 | 1864 |
| 8 | 987 | 1864 |
| 9 | 1027 | 1864 |
| 10 | 1068 | 1864 |
| 11 | 1100 | 1864 |
| 12 | 1122 | 1864 |
| 13 | 1129 | 1864 |
| 14 | 1131 | 1864 |
| 15 | 1131 | 1864 |
Compiled 1297 to 271 computations (79.1% saved)
| 1× | intervals |
| 18.1s | 64278× | body | 128 | invalid |
| 2.3s | 8000× | body | 128 | valid |
Compiled 2804 to 1065 computations (62% saved)
Loading profile data...