Time bar (total: 8.2s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 25% | 74.9% | 0.1% | 4 |
| 37.4% | 62.4% | 0.1% | 5 |
| 37.4% | 62.4% | 0.1% | 6 |
| 40.6% | 54.6% | 4.8% | 7 |
| 48.4% | 46% | 5.6% | 8 |
| 53.8% | 37.8% | 8.3% | 9 |
| 56.2% | 32.6% | 11.3% | 10 |
| 60.8% | 26% | 13.1% | 11 |
| 63.8% | 21% | 15.2% | 12 |
| 65.1% | 17.8% | 17% | 13 |
| 67.7% | 13.9% | 18.4% | 14 |
Compiled 17 to 11 computations (35.3% saved)
| 561.0ms | 5626× | body | 128 | valid |
| 403.0ms | 1043× | body | 2048 | valid |
| 214.0ms | 679× | body | 1024 | valid |
| 187.0ms | 391× | body | 4096 | valid |
| 114.0ms | 717× | body | 128 | invalid |
| 80.0ms | 340× | body | 512 | valid |
| 29.0ms | 177× | body | 256 | valid |
Compiled 50 to 32 computations (36% saved)
| 1× | egg-herbie |
| 518× | div-sub_binary64 |
| 428× | fma-neg_binary64 |
| 246× | associate-/l*_binary64 |
| 205× | fma-def_binary64 |
| 183× | times-frac_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 20 |
| 1 | 27 | 20 |
| 2 | 54 | 20 |
| 3 | 115 | 20 |
| 4 | 179 | 20 |
| 5 | 291 | 20 |
| 6 | 417 | 20 |
| 7 | 528 | 20 |
| 8 | 602 | 20 |
| 9 | 854 | 20 |
| 10 | 1802 | 20 |
| 11 | 1043 | 20 |
| 12 | 1027 | 20 |
| 13 | 1035 | 20 |
| 14 | 1043 | 20 |
| 15 | 1043 | 20 |
| 16 | 1101 | 20 |
| 17 | 1137 | 20 |
| 18 | 1139 | 20 |
| 19 | 1151 | 20 |
| 20 | 1046 | 20 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
| ▶ | 30.6b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
Compiled 48 to 30 computations (37.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| ✓ | 0.8b | (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) |
| ✓ | 1.1b | (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) |
| ✓ | 23.9b | (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) |
4 calls:
| 80.0ms | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 60.0ms | (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) |
| 44.0ms | (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) |
| 9.0ms | (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) |
| 1× | rewrite-expression-head |
| 81× | add-sqr-sqrt_binary64 |
| 80× | *-un-lft-identity_binary64 |
| 61× | prod-diff_binary64 |
| 60× | add-cube-cbrt_binary64 |
| 41× | sqrt-prod_binary64 |
4 calls:
| 11.0ms | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 9.0ms | (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) |
| 3.0ms | (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) |
| 3.0ms | (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) |
| 1× | egg-herbie |
| 819× | fma-neg_binary64 |
| 295× | cancel-sign-sub-inv_binary64 |
| 181× | unswap-sqr_binary64 |
| 169× | sub-neg_binary64 |
| 135× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 317 | 8791 |
| 1 | 779 | 6792 |
| 2 | 2682 | 5750 |
| 3 | 4584 | 5750 |
| 4 | 4974 | 5750 |
11 alts after pruning (10 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 282 | 10 | 292 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 282 | 11 | 293 |
| Status | Error | Program |
| 41.7b | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) | |
| 41.8b | (/.f64 (*.f64 -2 b_2) a) | |
| ▶ | 31.1b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) |
| 31.4b | (*.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) a)) (cbrt.f64 (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) a))) (cbrt.f64 (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) a))) | |
| ✓ | 30.6b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 49.6b | (*.f64 (+.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) (sqrt.f64 (neg.f64 b_2))) (/.f64 (-.f64 (sqrt.f64 (neg.f64 b_2)) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))) a)) | |
| 33.2b | (/.f64 (-.f64 (neg.f64 b_2) (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a) | |
| 31.4b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) (cbrt.f64 a))) | |
| 33.8b | (/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a) | |
| 54.2b | (log.f64 (exp.f64 (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) a))) | |
| 42.3b | (*.f64 -1/2 (/.f64 c b_2)) |
Compiled 9134 to 2022 computations (77.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))) |
| ✓ | 0.1b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) |
| ✓ | 0.2b | (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) |
| ✓ | 11.8b | (sqrt.f64 (neg.f64 (*.f64 c a))) |
4 calls:
| 527.0ms | (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))) |
| 326.0ms | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) |
| 195.0ms | (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) |
| 18.0ms | (sqrt.f64 (neg.f64 (*.f64 c a))) |
| 1× | rewrite-expression-head |
| 172× | *-un-lft-identity_binary64 |
| 162× | times-frac_binary64 |
| 139× | add-sqr-sqrt_binary64 |
| 104× | add-cube-cbrt_binary64 |
| 34× | distribute-lft-out--_binary64 |
4 calls:
| 11.0ms | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) |
| 6.0ms | (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))) |
| 5.0ms | (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) |
| 2.0ms | (sqrt.f64 (neg.f64 (*.f64 c a))) |
| 1× | egg-herbie |
| 715× | fma-def_binary64 |
| 401× | fma-neg_binary64 |
| 316× | cancel-sign-sub-inv_binary64 |
| 186× | sub-neg_binary64 |
| 154× | distribute-frac-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 349 | 9712 |
| 1 | 794 | 8164 |
| 2 | 2705 | 7612 |
| 3 | 4798 | 7608 |
| 4 | 4906 | 7608 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 327 | 4 | 331 |
| Fresh | 6 | 3 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 334 | 8 | 342 |
| Status | Error | Program |
| ✓ | 30.6b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 47.0b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2)))) | |
| 41.7b | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) | |
| 46.1b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2)))) | |
| 42.4b | (/.f64 1 (fma.f64 1/2 (/.f64 a b_2) (/.f64 2 (*.f64 (/.f64 c b_2) -1)))) | |
| ▶ | 31.4b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) (cbrt.f64 a))) |
| 45.4b | (*.f64 (/.f64 1 (/.f64 a (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))) (/.f64 1 (+.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) | |
| 42.3b | (*.f64 -1/2 (/.f64 c b_2)) |
Compiled 10449 to 2660 computations (74.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) | |
| ✓ | 0.5b | (*.f64 (cbrt.f64 a) (cbrt.f64 a)) |
| ✓ | 0.5b | (cbrt.f64 a) |
| 11.8b | (sqrt.f64 (neg.f64 (*.f64 c a))) |
2 calls:
| 46.0ms | (cbrt.f64 a) |
| 42.0ms | (*.f64 (cbrt.f64 a) (cbrt.f64 a)) |
| 1× | rewrite-expression-head |
| 19× | add-sqr-sqrt_binary64 |
| 19× | cbrt-prod_binary64 |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-cube-cbrt_binary64 |
| 9× | pow1_binary64 |
2 calls:
| 5.0ms | (*.f64 (cbrt.f64 a) (cbrt.f64 a)) |
| 1.0ms | (cbrt.f64 a) |
| 1× | egg-herbie |
| 577× | distribute-rgt-in_binary64 |
| 561× | log-prod_binary64 |
| 538× | distribute-lft-in_binary64 |
| 525× | unswap-sqr_binary64 |
| 384× | fma-def_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 610 |
| 1 | 98 | 554 |
| 2 | 296 | 516 |
| 3 | 769 | 502 |
| 4 | 1799 | 410 |
| 5 | 4642 | 410 |
| 6 | 4805 | 410 |
10 alts after pruning (8 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 212 | 2 | 214 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 212 | 10 | 222 |
| Status | Error | Program |
| 46.3b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2)) (cbrt.f64 a))) | |
| ✓ | 30.6b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 47.0b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2)))) | |
| 47.3b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2)) (cbrt.f64 a))) | |
| 46.1b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2)))) | |
| ▶ | 41.7b | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) |
| 42.4b | (/.f64 1 (fma.f64 1/2 (/.f64 a b_2) (/.f64 2 (*.f64 (/.f64 c b_2) -1)))) | |
| ✓ | 31.4b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) (cbrt.f64 a))) |
| 45.4b | (*.f64 (/.f64 1 (/.f64 a (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))) (/.f64 1 (+.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) | |
| 42.3b | (*.f64 -1/2 (/.f64 c b_2)) |
Compiled 7378 to 1885 computations (74.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) |
1 calls:
| 17.0ms | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) |
| 1× | rewrite-expression-head |
| 1× | *-un-lft-identity_binary64 |
| 1× | add-sqr-sqrt_binary64 |
| 1× | add-cube-cbrt_binary64 |
| 1× | add-cbrt-cube_binary64 |
| 1× | add-exp-log_binary64 |
1 calls:
| 0.0ms | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) |
| 1× | egg-herbie |
| 873× | fma-def_binary64 |
| 760× | distribute-rgt-in_binary64 |
| 722× | distribute-lft-in_binary64 |
| 150× | associate-*l*_binary64 |
| 141× | distribute-lft-neg-out_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 640 |
| 1 | 38 | 611 |
| 2 | 74 | 611 |
| 3 | 250 | 611 |
| 4 | 1127 | 611 |
| 5 | 5040 | 611 |
10 alts after pruning (7 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 21 | 0 | 21 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 21 | 10 | 31 |
| Status | Error | Program |
| 46.3b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2)) (cbrt.f64 a))) | |
| ✓ | 30.6b | (/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) |
| 47.0b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2)))) | |
| 47.3b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2)) (cbrt.f64 a))) | |
| 46.1b | (/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2)))) | |
| ✓ | 41.7b | (fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a))) |
| 42.4b | (/.f64 1 (fma.f64 1/2 (/.f64 a b_2) (/.f64 2 (*.f64 (/.f64 c b_2) -1)))) | |
| ✓ | 31.4b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)) (cbrt.f64 a))) |
| 45.4b | (*.f64 (/.f64 1 (/.f64 a (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))) (/.f64 1 (+.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))) | |
| 42.3b | (*.f64 -1/2 (/.f64 c b_2)) |
Compiled 532 to 290 computations (45.5% saved)
Total 9.1b remaining (98.8%)
Threshold costs 0b (0%)
Compiled 13963 to 8133 computations (41.8% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 6 | 2.2662785546022415e+101 | 2.240354704277509e+104 | 2.671050891722767e+102 |
| 9 | -9.671766587169522e-132 | -1.5906101622129874e-137 | -4.848180454524789e-132 |
| 8 | -1776253143368416000.0 | -67071046155825.555 | -1183068598468963.8 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 11× | +-commutative_binary64 |
| 10× | *-commutative_binary64 |
| 10× | sub-neg_binary64 |
| 7× | neg-sub0_binary64 |
| 7× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 82 |
| 1 | 54 | 82 |
| 2 | 69 | 82 |
| 3 | 83 | 82 |
| 4 | 90 | 82 |
| 5 | 93 | 82 |
| 6 | 94 | 82 |
| 7 | 94 | 82 |
Compiled 321 to 195 computations (39.3% saved)
Loading profile data...