Time bar (total: 2.4min)
| 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)
| 33.8s | 65108× | body | 128 | invalid |
| 4.1s | 8256× | body | 128 | valid |
Compiled 335 to 191 computations (43% 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 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 24.7b | (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)))))))) |
Compiled 413 to 200 computations (51.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 5.0b | (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))))))) |
| ✓ | 5.1b | (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)))))) |
| ✓ | 6.2b | (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))))) |
| ✓ | 8.6b | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
4 calls:
| 1.8s | (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))))))) |
| 881.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)))))) |
| 459.0ms | (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))))) |
| 60.0ms | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
| 2× | batch-egg-rewrite |
| 597× | log1p-expm1-u_binary64 |
| 597× | expm1-log1p-u_binary64 |
| 270× | prod-diff_binary64 |
| 198× | log-prod_binary64 |
| 194× | fma-udef_binary64 |
4 calls:
| 139.0ms | (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))))))) |
| 139.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)))))) |
| 139.0ms | (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))))) |
| 139.0ms | (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 286 |
| 1 | 1202 | 286 |
| 2 | 4874 | 286 |
| 3 | 4964 | 286 |
| 4 | 5009 | 286 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1112× | fma-def_binary64 |
| 996× | associate-+r+_binary64 |
| 242× | sub-neg_binary64 |
| 220× | associate--r+_binary64 |
| 220× | associate--l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1689 | 81858 |
| 1 | 5598 | 81858 |
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 513 | 16 | 529 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 513 | 17 | 530 |
| Status | Error | Program |
| 39.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (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))))))))) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.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))))))) | |
| 28.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (*.f64 k (*.f64 y0 (*.f64 b z)))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 k (*.f64 y4 (*.f64 y b)))))))))) | |
| 26.2b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) | |
| 24.5b | (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)) (-.f64 (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 c (*.f64 y0 (*.f64 y2 x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 i (*.f64 y y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 j y5)) (*.f64 k (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b))))))))))))) | |
| 49.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (neg.f64 (*.f64 y3 (-.f64 (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))) (fma.f64 c (*.f64 y4 y) (*.f64 a (*.f64 y1 z))))))) | |
| 34.1b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 y4 (*.f64 y y3)) (*.f64 k (*.f64 y (*.f64 i y5))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 c (*.f64 y (*.f64 i x)) (*.f64 k (+.f64 (*.f64 y4 (*.f64 y b)) (*.f64 y1 (*.f64 i z))))))))))) | |
| 33.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)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (*.f64 c (*.f64 i (*.f64 t z)))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y1 (*.f64 y2 x)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 a (*.f64 t (*.f64 b z)) (*.f64 i (*.f64 t (*.f64 j y5))))))))))) | |
| 43.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 y1 (*.f64 a y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b))))))) | |
| 24.7b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (+.f64 (*.f64 c (fma.f64 y4 (*.f64 y y3) (*.f64 i (*.f64 t z)))) (fma.f64 c (*.f64 y0 (*.f64 y2 x)) (fma.f64 a (*.f64 y (*.f64 b x)) (fma.f64 y1 (*.f64 i (*.f64 j x)) (*.f64 k (*.f64 y (*.f64 i y5))))))))))) (fma.f64 y (*.f64 a (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 y (*.f64 i x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 i (*.f64 t (*.f64 j y5)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (*.f64 k (*.f64 y1 (*.f64 i z)))))))))))))) | |
| 38.3b | (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)) (*.f64 -1 (*.f64 b (-.f64 (+.f64 (*.f64 y0 (*.f64 j x)) (+.f64 (*.f64 a (*.f64 t z)) (*.f64 k (*.f64 y4 y)))) (+.f64 (*.f64 y4 (*.f64 t j)) (+.f64 (*.f64 k (*.f64 y0 z)) (*.f64 a (*.f64 y x))))))))) | |
| 38.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)) (*.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))) | |
| ✓ | 24.7b | (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)))))))) |
| ▶ | 24.2b | (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)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 j y5)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b))))))))))))) |
| 45.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 c (*.f64 i x) (fma.f64 k (*.f64 y4 b) (*.f64 a (*.f64 y3 y5))))) y)) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x)) | |
| 46.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (*.f64 a (*.f64 t y5))) (fma.f64 c (*.f64 y4 t) (*.f64 a (*.f64 y1 x)))) y2)) |
Compiled 63533 to 6181 computations (90.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 5.0b | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 j y5)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))))))))))) |
| ✓ | 5.2b | (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))) |
| ✓ | 5.2b | (*.f64 y0 (*.f64 x y2)) |
| ✓ | 5.8b | (*.f64 i (*.f64 t z)) |
4 calls:
| 2.7s | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 j y5)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))))))))))) |
| 75.0ms | (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))) |
| 17.0ms | (*.f64 i (*.f64 t z)) |
| 17.0ms | (*.f64 y0 (*.f64 x y2)) |
| 2× | batch-egg-rewrite |
| 678× | log1p-expm1-u_binary64 |
| 678× | expm1-log1p-u_binary64 |
| 286× | log-prod_binary64 |
| 136× | expm1-udef_binary64 |
| 136× | log1p-udef_binary64 |
4 calls:
| 78.0ms | (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 b x)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 k (*.f64 y0 (*.f64 b z)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 j y5)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))))))))))) |
| 78.0ms | (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))) |
| 78.0ms | (*.f64 y0 (*.f64 x y2)) |
| 78.0ms | (*.f64 i (*.f64 t z)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 212 |
| 1 | 1438 | 212 |
| 2 | 5108 | 212 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 582× | associate--l+_binary64 |
| 566× | fma-def_binary64 |
| 562× | +-commutative_binary64 |
| 493× | associate-+r+_binary64 |
| 311× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 915 | 34062 |
| 1 | 2513 | 33992 |
| 2 | 4912 | 33992 |
| 3 | 5068 | 33992 |
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 189 | 5 | 194 |
| Fresh | 4 | 11 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 194 | 17 | 211 |
| Status | Error | Program |
| 39.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (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))))))))) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.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))))))) | |
| 28.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (*.f64 k (*.f64 y0 (*.f64 b z)))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 k (*.f64 y4 (*.f64 y b)))))))))) | |
| 26.2b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) | |
| 38.3b | (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)) (*.f64 -1 (*.f64 b (-.f64 (+.f64 (*.f64 y0 (*.f64 j x)) (+.f64 (*.f64 a (*.f64 t z)) (*.f64 k (*.f64 y4 y)))) (+.f64 (*.f64 y4 (*.f64 t j)) (+.f64 (*.f64 k (*.f64 y0 z)) (*.f64 a (*.f64 y x))))))))) | |
| ▶ | 24.2b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (+.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 y4 c))) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 x b)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 i (*.f64 y1 (*.f64 x j)) (fma.f64 a (*.f64 y1 (*.f64 z y3)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 z y3)) (fma.f64 a (*.f64 (*.f64 x y2) y1) (fma.f64 y0 (*.f64 (*.f64 x b) j) (fma.f64 c (*.f64 i (*.f64 x y)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 y5 j)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b))))))))))))) |
| 32.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 y (*.f64 a (*.f64 b x))) (+.f64 (*.f64 k (*.f64 y0 (*.f64 b z))) (+.f64 (*.f64 i (*.f64 y1 (*.f64 j x))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 y y3))) (*.f64 k (*.f64 i (*.f64 y y5))))))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 a (*.f64 y (*.f64 y3 y5))) (+.f64 (*.f64 y1 (*.f64 a (*.f64 x y2))) (+.f64 (*.f64 y0 (*.f64 j (*.f64 b x))) (+.f64 (*.f64 c (*.f64 i (*.f64 y x))) (+.f64 (*.f64 k (*.f64 y4 (*.f64 y b))) (*.f64 k (*.f64 i (*.f64 y1 z))))))))))) | |
| 49.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (neg.f64 (*.f64 y3 (-.f64 (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))) (fma.f64 c (*.f64 y4 y) (*.f64 a (*.f64 y1 z))))))) | |
| 43.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 y1 (*.f64 a y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b))))))) | |
| 38.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)) (*.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))) | |
| ✓ | 24.7b | (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)))))))) |
| 44.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 k (-.f64 (+.f64 (*.f64 i (*.f64 y1 z)) (*.f64 y4 (*.f64 y b))) (+.f64 (*.f64 i (*.f64 y y5)) (*.f64 y0 (*.f64 b z))))))) | |
| 45.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 c (*.f64 i x) (fma.f64 k (*.f64 y4 b) (*.f64 a (*.f64 y3 y5))))) y)) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x)) | |
| 32.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 y (*.f64 a (*.f64 b x))) (+.f64 (*.f64 y4 (*.f64 t (*.f64 j b))) (+.f64 (*.f64 i (*.f64 y1 (*.f64 j x))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 y y3))) (*.f64 c (*.f64 i (*.f64 t z)))))))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 y (*.f64 a (*.f64 y3 y5))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y2 x))) (+.f64 (*.f64 y0 (*.f64 j (*.f64 b x))) (+.f64 (*.f64 c (*.f64 i (*.f64 y x))) (+.f64 (*.f64 a (*.f64 t (*.f64 z b))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 t y2))) (*.f64 i (*.f64 t (*.f64 j y5)))))))))))) | |
| 48.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 y1 (*.f64 x i))) (fma.f64 y0 (*.f64 x b) (*.f64 i (*.f64 y5 t)))))) | |
| 46.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (*.f64 a (*.f64 t y5))) (fma.f64 c (*.f64 y4 t) (*.f64 a (*.f64 y1 x)))) y2)) |
Compiled 25971 to 3474 computations (86.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 5.2b | (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b)))) | |
| 5.2b | (*.f64 y0 (*.f64 x y2)) | |
| 5.8b | (*.f64 i (*.f64 t z)) | |
| ✓ | 8.5b | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 y4 c))) |
1 calls:
| 58.0ms | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 y4 c))) |
| 2× | batch-egg-rewrite |
| 330× | log1p-udef_binary64 |
| 183× | add-sqr-sqrt_binary64 |
| 172× | log1p-expm1-u_binary64 |
| 172× | expm1-log1p-u_binary64 |
| 168× | add-log-exp_binary64 |
1 calls:
| 73.0ms | (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 y4 c))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 22 |
| 1 | 349 | 22 |
| 2 | 4565 | 22 |
| 3 | 5112 | 22 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 4285× | fma-neg_binary64 |
| 677× | unsub-neg_binary64 |
| 562× | distribute-rgt-neg-in_binary64 |
| 529× | distribute-rgt-in_binary64 |
| 444× | distribute-lft-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 3432 |
| 1 | 124 | 3432 |
| 2 | 365 | 3144 |
| 3 | 982 | 2832 |
| 4 | 1926 | 1968 |
| 5 | 2570 | 1968 |
| 6 | 2806 | 1968 |
| 7 | 2791 | 1968 |
| 8 | 2819 | 1968 |
| 9 | 2794 | 1968 |
| 10 | 2790 | 1968 |
| 11 | 2871 | 1968 |
| 12 | 3011 | 1968 |
| 13 | 3011 | 1968 |
| 14 | 3011 | 1968 |
| 15 | 3609 | 1968 |
| 16 | 3089 | 1968 |
| 17 | 3089 | 1968 |
| 18 | 3089 | 1968 |
| 19 | 3089 | 1968 |
| 20 | 6790 | 1968 |
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 1 | 83 |
| Fresh | 0 | 15 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 83 | 17 | 100 |
| Status | Error | Program |
| 39.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (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))))))))) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.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))))))) | |
| 28.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (*.f64 k (*.f64 y0 (*.f64 b z)))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 k (*.f64 y4 (*.f64 y b)))))))))) | |
| ▶ | 26.2b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))))) |
| 38.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)) (*.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))) | |
| 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (+.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 x b)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 i (*.f64 y1 (*.f64 x j)) (fma.f64 a (*.f64 y1 (*.f64 z y3)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 z y3)) (fma.f64 a (*.f64 (*.f64 x y2) y1) (fma.f64 y0 (*.f64 (*.f64 x b) j) (fma.f64 c (*.f64 i (*.f64 x y)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 y5 j)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b))))))))))))) | |
| 32.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 y (*.f64 a (*.f64 b x))) (+.f64 (*.f64 k (*.f64 y0 (*.f64 b z))) (+.f64 (*.f64 i (*.f64 y1 (*.f64 j x))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 y y3))) (*.f64 k (*.f64 i (*.f64 y y5))))))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 a (*.f64 y (*.f64 y3 y5))) (+.f64 (*.f64 y1 (*.f64 a (*.f64 x y2))) (+.f64 (*.f64 y0 (*.f64 j (*.f64 b x))) (+.f64 (*.f64 c (*.f64 i (*.f64 y x))) (+.f64 (*.f64 k (*.f64 y4 (*.f64 y b))) (*.f64 k (*.f64 i (*.f64 y1 z))))))))))) | |
| 38.3b | (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)) (*.f64 -1 (*.f64 b (-.f64 (+.f64 (*.f64 y0 (*.f64 j x)) (+.f64 (*.f64 a (*.f64 t z)) (*.f64 k (*.f64 y4 y)))) (+.f64 (*.f64 y4 (*.f64 t j)) (+.f64 (*.f64 k (*.f64 y0 z)) (*.f64 a (*.f64 y x))))))))) | |
| 49.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (neg.f64 (*.f64 y3 (-.f64 (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))) (fma.f64 c (*.f64 y4 y) (*.f64 a (*.f64 y1 z))))))) | |
| 43.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 y1 (*.f64 a y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b))))))) | |
| ✓ | 24.7b | (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)))))))) |
| 44.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 k (-.f64 (+.f64 (*.f64 i (*.f64 y1 z)) (*.f64 y4 (*.f64 y b))) (+.f64 (*.f64 i (*.f64 y y5)) (*.f64 y0 (*.f64 b z))))))) | |
| 45.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 c (*.f64 i x) (fma.f64 k (*.f64 y4 b) (*.f64 a (*.f64 y3 y5))))) y)) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x)) | |
| 32.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 y (*.f64 a (*.f64 b x))) (+.f64 (*.f64 y4 (*.f64 t (*.f64 j b))) (+.f64 (*.f64 i (*.f64 y1 (*.f64 j x))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 y y3))) (*.f64 c (*.f64 i (*.f64 t z)))))))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 y (*.f64 a (*.f64 y3 y5))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y2 x))) (+.f64 (*.f64 y0 (*.f64 j (*.f64 b x))) (+.f64 (*.f64 c (*.f64 i (*.f64 y x))) (+.f64 (*.f64 a (*.f64 t (*.f64 z b))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 t y2))) (*.f64 i (*.f64 t (*.f64 j y5)))))))))))) | |
| 48.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 y1 (*.f64 x i))) (fma.f64 y0 (*.f64 x b) (*.f64 i (*.f64 y5 t)))))) | |
| 46.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (*.f64 a (*.f64 t y5))) (fma.f64 c (*.f64 y4 t) (*.f64 a (*.f64 y1 x)))) y2)) |
Compiled 15358 to 2431 computations (84.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 5.0b | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))) |
| ✓ | 5.1b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))) |
| ✓ | 5.1b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))) |
| ✓ | 6.2b | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))) |
4 calls:
| 852.0ms | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))) |
| 835.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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))) |
| 404.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))) |
| 372.0ms | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))) |
| 2× | batch-egg-rewrite |
| 568× | log1p-expm1-u_binary64 |
| 568× | expm1-log1p-u_binary64 |
| 243× | prod-diff_binary64 |
| 229× | fma-def_binary64 |
| 191× | log-prod_binary64 |
4 calls:
| 162.0ms | (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))) |
| 162.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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b))))) |
| 162.0ms | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))) |
| 162.0ms | (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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 284 |
| 1 | 1147 | 284 |
| 2 | 4870 | 284 |
| 3 | 4951 | 284 |
| 4 | 5085 | 284 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 983× | fma-def_binary64 |
| 861× | associate-+r+_binary64 |
| 262× | sub-neg_binary64 |
| 230× | associate--r+_binary64 |
| 230× | associate--l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1559 | 75033 |
| 1 | 5239 | 75033 |
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 574 | 4 | 578 |
| Fresh | 3 | 12 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 578 | 17 | 595 |
| Status | Error | Program |
| 28.7b | (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 y2 x)) (*.f64 k (*.f64 y0 (*.f64 b z))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (*.f64 k (+.f64 (*.f64 y4 (*.f64 y b)) (*.f64 y1 (*.f64 i z)))))))))) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.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))))))) | |
| 28.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (*.f64 k (*.f64 y0 (*.f64 b z)))))) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 j (*.f64 b x)) (*.f64 k (*.f64 y4 (*.f64 y b)))))))))) | |
| 24.7b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 a (*.f64 t (*.f64 y5 y2)) (fma.f64 y4 (*.f64 t (*.f64 j b)) (fma.f64 a (*.f64 y1 (*.f64 y3 z)) (+.f64 (*.f64 c (fma.f64 y4 (*.f64 y y3) (*.f64 i (*.f64 t z)))) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 a (*.f64 y (*.f64 b x)) (*.f64 y1 (*.f64 i (*.f64 j x)))))))))) (fma.f64 a (*.f64 y (*.f64 y3 y5)) (fma.f64 c (*.f64 y0 (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 c (*.f64 y4 (*.f64 t y2)) (fma.f64 k (*.f64 y4 (*.f64 y b)) (fma.f64 y1 (*.f64 a (*.f64 x y2)) (fma.f64 y0 (*.f64 b (*.f64 j x)) (*.f64 k (*.f64 y1 (*.f64 i z))))))))))))) | |
| 38.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)) (*.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))) | |
| 27.6b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (+.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))) (-.f64 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 y (*.f64 a (*.f64 x b)) (fma.f64 y4 (*.f64 t (*.f64 b j)) (fma.f64 k (*.f64 y0 (*.f64 z b)) (fma.f64 i (*.f64 y1 (*.f64 x j)) (fma.f64 a (*.f64 y1 (*.f64 z y3)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 y (*.f64 i y5)))))))))) (fma.f64 c (*.f64 y0 (*.f64 z y3)) (fma.f64 a (*.f64 (*.f64 x y2) y1) (fma.f64 y0 (*.f64 (*.f64 x b) j) (fma.f64 c (*.f64 i (*.f64 x y)) (fma.f64 a (*.f64 t (*.f64 z b)) (fma.f64 i (*.f64 t (*.f64 y5 j)) (*.f64 k (fma.f64 y1 (*.f64 i z) (*.f64 y4 (*.f64 y b))))))))))))) | |
| 46.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)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (sqrt.f64 (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 y0 c) (*.f64 y1 a)) (*.f64 y4 (*.f64 b (-.f64 (*.f64 j t) (*.f64 k y))))))) 2)))) | |
| 34.9b | (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)) (neg.f64 (*.f64 (-.f64 (fma.f64 y0 (*.f64 j x) (*.f64 k (*.f64 y4 y))) (fma.f64 y4 (*.f64 t j) (*.f64 k (*.f64 y0 z)))) b))))) | |
| 46.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (*.f64 a (*.f64 t y5))) (fma.f64 c (*.f64 y4 t) (*.f64 a (*.f64 y1 x)))) y2)) | |
| 49.0b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (neg.f64 (*.f64 y3 (-.f64 (fma.f64 c (*.f64 y0 z) (*.f64 a (*.f64 y y5))) (fma.f64 c (*.f64 y4 y) (*.f64 a (*.f64 y1 z))))))) | |
| 43.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 z (-.f64 (fma.f64 k (*.f64 y0 b) (fma.f64 y1 (*.f64 a y3) (*.f64 c (*.f64 i t)))) (fma.f64 k (*.f64 i y1) (fma.f64 c (*.f64 y0 y3) (*.f64 a (*.f64 t b))))))) | |
| ✓ | 24.7b | (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)))))))) |
| 44.3b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 -1 (*.f64 k (-.f64 (+.f64 (*.f64 i (*.f64 y1 z)) (*.f64 y4 (*.f64 y b))) (+.f64 (*.f64 i (*.f64 y y5)) (*.f64 y0 (*.f64 b z))))))) | |
| 45.4b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 c (*.f64 i x) (fma.f64 k (*.f64 y4 b) (*.f64 a (*.f64 y3 y5))))) y)) | |
| 44.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x)) | |
| 32.5b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (-.f64 (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 y (*.f64 a (*.f64 b x))) (+.f64 (*.f64 y4 (*.f64 t (*.f64 j b))) (+.f64 (*.f64 i (*.f64 y1 (*.f64 j x))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 y y3))) (*.f64 c (*.f64 i (*.f64 t z)))))))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 y (*.f64 a (*.f64 y3 y5))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y2 x))) (+.f64 (*.f64 y0 (*.f64 j (*.f64 b x))) (+.f64 (*.f64 c (*.f64 i (*.f64 y x))) (+.f64 (*.f64 a (*.f64 t (*.f64 z b))) (+.f64 (*.f64 c (*.f64 y4 (*.f64 t y2))) (*.f64 i (*.f64 t (*.f64 j y5)))))))))))) | |
| 48.9b | (fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 y1 (*.f64 x i))) (fma.f64 y0 (*.f64 x b) (*.f64 i (*.f64 y5 t)))))) |
Compiled 61454 to 5250 computations (91.5% saved)
Total 22.2b remaining (75.3%)
Threshold costs 0b (0%)
Compiled 893130 to 478559 computations (46.4% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 2 | 3.988388796221025e+95 | 2.1014677760532892e+99 | 2.91805611483236e+97 |
| 2 | 1.1731796175381355e-200 | 2.1188986565482953e-198 | 5.85002236908907e-199 |
| 9 | 2.5166037755964817e-303 | 1.7003848498111041e-296 | 2.5488787504143058e-303 |
| 5 | -1.733540590145855e-289 | -7.871137177917271e-290 | -7.963750252517817e-290 |
| 5 | -8.41150399065329e-247 | -2.8066870636850403e-247 | -3.359482660201687e-247 |
| 8 | -1.2390367458003207e-209 | -4.0753463133175815e-214 | -2.964585741499648e-210 |
| 7 | -1.4464658680186357e-184 | -6.434750744224744e-186 | -4.1979346316806844e-185 |
| 8 | -1.786525779795684e-150 | -1.2194614751171272e-153 | -7.887039867547132e-153 |
| 9 | -1.9200756023296895e-87 | -5.881323172720441e-95 | -1.7976088564314313e-87 |
| 6 | -2.0461126955772326e-42 | -2.1302629998697242e-43 | -1.2504404513340289e-42 |
| 9 | -8.03642662619757e+129 | -4.4542997925648215e+120 | -1.1476444179235389e+123 |
Compiled 17 to 16 computations (5.9% saved)
| 1× | egg-herbie |
| 496× | neg-sub0_binary64 |
| 495× | neg-mul-1_binary64 |
| 474× | distribute-rgt-neg-in_binary64 |
| 399× | distribute-lft-neg-out_binary64 |
| 387× | distribute-rgt-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 283 | 1739 |
| 1 | 441 | 1739 |
| 2 | 584 | 1739 |
| 3 | 691 | 1731 |
| 4 | 779 | 1731 |
| 5 | 820 | 1731 |
| 6 | 871 | 1731 |
| 7 | 1002 | 1731 |
| 8 | 1214 | 1731 |
| 9 | 1483 | 1731 |
| 10 | 1826 | 1731 |
| 11 | 2261 | 1731 |
| 12 | 2561 | 1731 |
| 13 | 2566 | 1731 |
| 14 | 2629 | 1731 |
| 15 | 2652 | 1731 |
| 16 | 2655 | 1731 |
| 17 | 2863 | 1731 |
| 18 | 2960 | 1731 |
| 19 | 2962 | 1731 |
| 20 | 2972 | 1731 |
| 21 | 2976 | 1731 |
| 22 | 2976 | 1731 |
| 23 | 2972 | 1731 |
Compiled 3969 to 1356 computations (65.8% saved)
Loading profile data...