Time bar (total: 4.5s)
| 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 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 99.9% | 0.1% | 5 |
| 25% | 74.9% | 0.1% | 6 |
| 93.7% | 6.2% | 0.1% | 7 |
| 96.8% | 3.1% | 0.1% | 8 |
| 99.5% | 0.4% | 0.1% | 9 |
| 99.7% | 0.2% | 0.1% | 10 |
| 99.8% | 0.1% | 0.1% | 11 |
| 99.9% | 0% | 0.1% | 12 |
| 99.9% | 0% | 0.1% | 13 |
| 99.9% | 0% | 0.1% | 14 |
Compiled 22 to 13 computations (40.9% saved)
| 1× | intervals |
| 10.0ms | 256× | body | 128 | valid |
Compiled 45 to 27 computations (40% saved)
| 1× | egg-herbie |
| 494× | sub-neg_binary64 |
| 455× | cancel-sign-sub-inv_binary64 |
| 430× | times-frac_binary64 distribute-rgt-neg-in_binary64 |
| 410× | unswap-sqr_binary64 |
| 364× | div-sub_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 28 |
| 1 | 21 | 28 |
| 2 | 48 | 28 |
| 3 | 94 | 28 |
| 4 | 176 | 28 |
| 5 | 274 | 28 |
| 6 | 339 | 28 |
| 7 | 448 | 28 |
| 8 | 687 | 28 |
| 9 | 2046 | 28 |
| 10 | 3379 | 28 |
| 11 | 3727 | 28 |
| 12 | 4065 | 28 |
| 13 | 4286 | 28 |
| 14 | 4787 | 28 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 0 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 1 | 2 |
| Status | Error | Program |
| ▶ | 29.4b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
Compiled 63 to 36 computations (42.9% saved)
Found 3 expressions with local error:
| 0.0b | (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| 4.8b | (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| 28.9b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 1× | rewrite-expression-head |
| 11× | add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64 |
| 9× | times-frac_binary64 |
| 7× | add-log-exp_binary64 |
| 5× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 3× | pow1_binary64 associate-/l*_binary64 associate-/r*_binary64 |
3 calls:
| 9.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 4.0ms | (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| 4.0ms | (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
Compiled 1848 to 956 computations (48.3% saved)
3 calls:
| 42.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 30.0ms | (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| 30.0ms | (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
Compiled 1201 to 892 computations (25.7% saved)
| 1× | egg-herbie |
| 457× | associate-*l*_binary64 |
| 382× | associate-*r*_binary64 |
| 253× | times-frac_binary64 |
| 235× | associate-/l*_binary64 |
| 224× | div-sub_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 115 | 2459 |
| 1 | 310 | 2283 |
| 2 | 955 | 2260 |
| 3 | 4023 | 2260 |
| 4 | 4764 | 2242 |
| 5 | 4984 | 2242 |
| 6 | 4931 | 2242 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 81 | 3 | 84 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 81 | 4 | 85 |
| Status | Error | Program |
| ▶ | 29.4b | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| ✓ | 29.4b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 37.4b | (-.f64 1 (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))) | |
| 34.6b | (+.f64 -1 (*.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)))) |
Compiled 1639 to 781 computations (52.3% saved)
Found 4 expressions with local error:
| 0.0b | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| 0.0b | (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3) |
| 4.8b | (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) |
| 28.9b | (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) |
| 1× | rewrite-expression-head |
| 45× | times-frac_binary64 |
| 42× | add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64 |
| 36× | cbrt-prod_binary64 |
| 30× | unpow-prod-down_binary64 cube-prod_binary64 |
| 10× | associate-/r/_binary64 |
4 calls:
| 12.0ms | (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3) |
| 10.0ms | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| 9.0ms | (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) |
| 4.0ms | (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) |
Compiled 4268 to 2053 computations (51.9% saved)
4 calls:
| 57.0ms | (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3) |
| 46.0ms | (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) |
| 44.0ms | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| 31.0ms | (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) |
Compiled 1795 to 1469 computations (18.2% saved)
| 1× | egg-herbie |
| 435× | unswap-sqr_binary64 |
| 301× | distribute-rgt-in_binary64 |
| 260× | cancel-sign-sub-inv_binary64 |
| 254× | log-prod_binary64 |
| 179× | exp-prod_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 210 | 7518 |
| 1 | 587 | 6927 |
| 2 | 1958 | 6694 |
| 3 | 4232 | 6694 |
| 4 | 4935 | 6694 |
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 146 | 0 | 146 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 146 | 4 | 150 |
| Status | Error | Program |
| ✓ | 29.4b | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| ✓ | 29.4b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 37.4b | (-.f64 1 (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))) | |
| ▶ | 34.6b | (+.f64 -1 (*.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)))) |
Compiled 2100 to 1064 computations (49.3% saved)
Found 2 expressions with local error:
| 0.0b | (+.f64 -1 (*.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)))) |
| 15.8b | (/.f64 (*.f64 x x) (*.f64 y y)) |
| 1× | rewrite-expression-head |
| 14× | add-exp-log_binary64 add-cbrt-cube_binary64 |
| 4× | prod-exp_binary64 div-exp_binary64 add-log-exp_binary64 cbrt-undiv_binary64 cbrt-unprod_binary64 |
| 2× | pow1_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64 |
| 1× | frac-2neg_binary64 times-frac_binary64 clear-num_binary64 div-inv_binary64 associate-/l*_binary64 associate-/r*_binary64 sum-log_binary64 flip3-+_binary64 flip-+_binary64 +-commutative_binary64 |
2 calls:
| 6.0ms | (/.f64 (*.f64 x x) (*.f64 y y)) |
| 3.0ms | (+.f64 -1 (*.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)))) |
Compiled 639 to 265 computations (58.5% saved)
2 calls:
| 37.0ms | (+.f64 -1 (*.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)))) |
| 21.0ms | (/.f64 (*.f64 x x) (*.f64 y y)) |
Compiled 388 to 328 computations (15.5% saved)
| 1× | egg-herbie |
| 561× | times-frac_binary64 |
| 485× | associate-*l/_binary64 |
| 418× | associate-*r/_binary64 |
| 408× | associate-*l*_binary64 |
| 398× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 74 | 864 |
| 1 | 203 | 682 |
| 2 | 707 | 636 |
| 3 | 3977 | 622 |
| 4 | 5222 | 622 |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 34 | 3 | 37 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 35 | 6 | 41 |
| Status | Error | Program |
| ✓ | 29.4b | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) |
| ✓ | 29.4b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| 37.4b | (-.f64 1 (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))) | |
| ▶ | 28.9b | (+.f64 -1 (*.f64 1/2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))) |
| 28.9b | (+.f64 -1 (*.f64 1/2 (/.f64 x (/.f64 y (/.f64 x y))))) | |
| 43.6b | (+.f64 -1 (*.f64 1/2 (exp.f64 (*.f64 2 (log.f64 (/.f64 x y)))))) |
Compiled 406 to 230 computations (43.3% saved)
Found 2 expressions with local error:
| 0.0b | (+.f64 -1 (*.f64 1/2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))) |
| 0.2b | (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))) |
| 1× | rewrite-expression-head |
| 116× | add-sqr-sqrt_binary64 |
| 72× | fabs-mul_binary64 |
| 60× | times-frac_binary64 |
| 34× | add-cube-cbrt_binary64 *-un-lft-identity_binary64 |
| 28× | fabs-sqr_binary64 |
2 calls:
| 16.0ms | (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))) |
| 3.0ms | (+.f64 -1 (*.f64 1/2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))) |
Compiled 2435 to 802 computations (67.1% saved)
2 calls:
| 21.0ms | (+.f64 -1 (*.f64 1/2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))) |
| 17.0ms | (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))) |
Compiled 310 to 256 computations (17.4% saved)
| 1× | egg-herbie |
| 596× | associate-/r/_binary64 |
| 372× | *-commutative_binary64 |
| 277× | associate-/l*_binary64 |
| 207× | distribute-rgt-neg-in_binary64 |
| 203× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 179 | 2472 |
| 1 | 357 | 1883 |
| 2 | 1168 | 1782 |
| 3 | 2297 | 1674 |
| 4 | 5041 | 1674 |
10 alts after pruning (8 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 109 | 5 | 114 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 110 | 10 | 120 |
| Status | Error | Program |
| 29.4b | (cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) -4)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))) 3)) | |
| 28.9b | (+.f64 -1 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y)) 4) (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 y) (cbrt.f64 y)))))) | |
| 29.4b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) | |
| 37.4b | (-.f64 1 (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))) | |
| 28.9b | (+.f64 -1 (*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))))) | |
| 28.9b | (+.f64 -1 (*.f64 1/2 (/.f64 x (/.f64 y (/.f64 x y))))) | |
| 28.9b | (+.f64 -1 (*.f64 1/2 (*.f64 (/.f64 (/.f64 (/.f64 x (cbrt.f64 y)) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (cbrt.f64 y))) (/.f64 (/.f64 x (cbrt.f64 y)) (cbrt.f64 y))))) | |
| 28.9b | (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 (/.f64 x y) 2) 1/2) 1)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 (/.f64 x y) 2) 1/2) 1))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 (/.f64 x y) 2) 1/2) 1))) | |
| 63.3b | (exp.f64 (log.f64 (-.f64 (*.f64 (pow.f64 (/.f64 x y) 2) 1/2) 1))) | |
| 43.6b | (+.f64 -1 (*.f64 1/2 (exp.f64 (*.f64 2 (log.f64 (/.f64 x y)))))) |
Compiled 1401 to 689 computations (50.8% saved)
Total 8.7b remaining (69.2%)
Threshold costs 0b (0%)
Compiled 16122 to 9447 computations (41.4% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 7 | 9.149815947076835e+77 | 7.234835594360878e+79 | 7.090214672623547e+79 |
| 8 | 9.03016989431881e-142 | 2.6685145719873674e-138 | 1.5065991278181313e-140 |
| 10 | -1.0445487681739017e-98 | -2.5607176706663901e-110 | -2.0471170134376602e-106 |
| 11 | -1.312751001694106e+151 | -4.0820874523168483e+129 | -6.782623048135753e+135 |
Compiled 3 to 2 computations (33.3% saved)
| 1× | egg-herbie |
| 11× | *-commutative_binary64 |
| 9× | +-commutative_binary64 |
| 6× | fabs-mul_binary64 |
| 4× | sub-neg_binary64 distribute-rgt-neg-in_binary64 |
| 3× | fabs-div_binary64 sqr-abs_binary64 neg-mul-1_binary64 neg-sub0_binary64 distribute-lft-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 210 |
| 1 | 90 | 210 |
| 2 | 103 | 210 |
| 3 | 113 | 210 |
| 4 | 115 | 210 |
| 5 | 116 | 210 |
| 6 | 114 | 210 |
Compiled 138 to 69 computations (50% saved)
| 1× | intervals |
| 334.0ms | 8000× | body | 128 | valid |
Compiled 367 to 215 computations (41.4% saved)
Loading profile data...