Time bar (total: 13.3s)
| 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 |
| 0% | 99.9% | 0.1% | 6 |
| 12.5% | 87.4% | 0.1% | 7 |
| 18.7% | 81.1% | 0.1% | 8 |
| 26.5% | 72.9% | 0.5% | 9 |
| 38.2% | 60.7% | 1.1% | 10 |
| 41.7% | 54.9% | 3.4% | 11 |
| 47.6% | 47.4% | 5% | 12 |
| 53.4% | 39.4% | 7.2% | 13 |
| 54.9% | 34.5% | 10.6% | 14 |
Compiled 20 to 15 computations (25% saved)
(sort c s)
| 1.9s | 6292× | body | 128 | valid |
| 1.1s | 919× | body | 1024 | valid |
| 597.0ms | 1992× | body | 128 | invalid |
| 557.0ms | 665× | body | 512 | valid |
| 283.0ms | 273× | body | 512 | invalid |
| 253.0ms | 204× | body | 1024 | invalid |
| 209.0ms | 374× | body | 256 | valid |
| 102.0ms | 191× | body | 256 | invalid |
| 12.0ms | 6× | body | 2048 | valid |
Compiled 59 to 44 computations (25.4% saved)
| 1× | egg-herbie |
| 750× | unswap-sqr_binary64 |
| 704× | sqr-pow_binary64 |
| 582× | *-commutative_binary64 |
| 574× | fabs-mul_binary64 |
| 502× | cube-prod_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 24 |
| 1 | 29 | 24 |
| 2 | 68 | 24 |
| 3 | 214 | 24 |
| 4 | 833 | 24 |
| 5 | 1367 | 24 |
| 6 | 2084 | 24 |
| 7 | 2149 | 24 |
| 8 | 2230 | 24 |
| 9 | 2331 | 24 |
| 10 | 2464 | 24 |
| 11 | 2501 | 24 |
| 12 | 2580 | 24 |
| 13 | 2853 | 24 |
| 14 | 3277 | 24 |
| 15 | 3804 | 24 |
| 16 | 4518 | 24 |
| 17 | 4911 | 24 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
| ▶ | 28.9b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))) |
Compiled 73 to 51 computations (30.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))) |
| ✓ | 5.4b | (*.f64 (*.f64 x (pow.f64 s 2)) x) |
| ✓ | 9.4b | (*.f64 x (pow.f64 s 2)) |
| ✓ | 18.8b | (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)) |
4 calls:
| 283.0ms | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))) |
| 66.0ms | (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)) |
| 18.0ms | (*.f64 x (pow.f64 s 2)) |
| 18.0ms | (*.f64 (*.f64 x (pow.f64 s 2)) x) |
| 2× | batch-egg-rewrite |
| 301× | prod-diff_binary64 |
| 240× | expm1-udef_binary64 |
| 240× | log1p-udef_binary64 |
| 221× | log-pow_binary64 |
| 135× | add-sqr-sqrt_binary64 |
4 calls:
| 134.0ms | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))) |
| 134.0ms | (*.f64 (*.f64 x (pow.f64 s 2)) x) |
| 134.0ms | (*.f64 x (pow.f64 s 2)) |
| 134.0ms | (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 57 |
| 1 | 275 | 57 |
| 2 | 3342 | 57 |
| 3 | 4862 | 57 |
| 4 | 5046 | 57 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 877× | associate-/l*_binary64 |
| 439× | associate-/l/_binary64 |
| 361× | cancel-sign-sub-inv_binary64 |
| 359× | unswap-sqr_binary64 |
| 272× | fma-neg_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 1932 |
| 1 | 96 | 1930 |
| 2 | 310 | 1930 |
| 3 | 1464 | 1925 |
| 4 | 4903 | 1923 |
| 5 | 4968 | 1923 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 95 | 12 | 107 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 96 | 12 | 108 |
| Status | Error | Program |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) 2) | |
| 42.3b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) 2))) | |
| 34.2b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) (pow.f64 x 2)))) | |
| 43.4b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 (*.f64 s (sqrt.f64 x)) 2) x))) | |
| 32.8b | (*.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x)))))) | |
| 29.1b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 s s))) 3) x))) | |
| 32.8b | (*.f64 (/.f64 1 (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x)))))) | |
| 29.1b | (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 3)) | |
| ▶ | 27.3b | (*.f64 (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) (/.f64 (cos.f64 (+.f64 x x)) x)) |
| 33.1b | (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x)))) 2)) | |
| 29.0b | (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 2)) (/.f64 (cos.f64 (+.f64 x x)) (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))))) | |
| 29.3b | (*.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c c)) (/.f64 1 (*.f64 x (*.f64 x (*.f64 s s))))) |
Compiled 2864 to 1186 computations (58.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) |
| ✓ | 4.6b | (*.f64 (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) (/.f64 (cos.f64 (+.f64 x x)) x)) |
| ✓ | 9.4b | (*.f64 x (*.f64 s s)) |
| ✓ | 17.5b | (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s))) |
4 calls:
| 252.0ms | (*.f64 (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) (/.f64 (cos.f64 (+.f64 x x)) x)) |
| 200.0ms | (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) |
| 49.0ms | (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s))) |
| 13.0ms | (*.f64 x (*.f64 s s)) |
| 2× | batch-egg-rewrite |
| 532× | prod-diff_binary64 |
| 153× | add-sqr-sqrt_binary64 |
| 143× | log1p-expm1-u_binary64 |
| 143× | expm1-log1p-u_binary64 |
| 142× | add-cbrt-cube_binary64 |
4 calls:
| 147.0ms | (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) |
| 147.0ms | (*.f64 (/.f64 1 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s)))) (/.f64 (cos.f64 (+.f64 x x)) x)) |
| 147.0ms | (*.f64 x (*.f64 s s)) |
| 147.0ms | (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 60 |
| 1 | 306 | 55 |
| 2 | 3944 | 55 |
| 3 | 4898 | 55 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 877× | associate-/l*_binary64 |
| 468× | associate-/l/_binary64 |
| 406× | unswap-sqr_binary64 |
| 361× | cancel-sign-sub-inv_binary64 |
| 271× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 2160 |
| 1 | 106 | 2158 |
| 2 | 337 | 2158 |
| 3 | 1524 | 2153 |
| 4 | 5017 | 2153 |
20 alts after pruning (20 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 134 | 16 | 150 |
| Fresh | 7 | 4 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 142 | 20 | 162 |
| Status | Error | Program |
| ▶ | 20.4b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| 41.9b | (/.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 34.1b | (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) 3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 31.7b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c (*.f64 s (sqrt.f64 x)))) (*.f64 c (*.f64 s (sqrt.f64 x)))) | |
| 44.4b | (*.f64 (/.f64 1 (pow.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) 3) 1/3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 27.8b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c c)) (*.f64 x (*.f64 s s))) | |
| 34.1b | (/.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) 2) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 42.3b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) 2))) | |
| 28.9b | (/.f64 (*.f64 (pow.f64 c -2) (cos.f64 (+.f64 x x))) (*.f64 (*.f64 x (*.f64 s s)) x)) | |
| 32.8b | (*.f64 (/.f64 1 (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x)))))) | |
| 29.1b | (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 3)) | |
| 27.3b | (/.f64 (/.f64 (pow.f64 c -2) (*.f64 x (*.f64 s s))) (/.f64 x (cos.f64 (+.f64 x x)))) | |
| 29.0b | (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 2)) (/.f64 (cos.f64 (+.f64 x x)) (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))))) | |
| 33.9b | (*.f64 (pow.f64 (/.f64 1 (*.f64 c (*.f64 s (sqrt.f64 x)))) 2) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.0b | (-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2))) (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)))) | |
| 34.0b | (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (/.f64 (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (cbrt.f64 (cos.f64 (+.f64 x x))))) | |
| 23.2b | (*.f64 (/.f64 1 (/.f64 c (/.f64 1 (*.f64 c (*.f64 x (*.f64 s s)))))) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 33.9b | (*.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 26.9b | (*.f64 (/.f64 1 (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) x))) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.1b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
Compiled 3952 to 1667 computations (57.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) |
| ✓ | 7.0b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| ✓ | 8.5b | (*.f64 c (*.f64 x (*.f64 s s))) |
| 9.4b | (*.f64 x (*.f64 s s)) |
3 calls:
| 285.0ms | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| 36.0ms | (*.f64 c (*.f64 x (*.f64 s s))) |
| 32.0ms | (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) |
| 2× | batch-egg-rewrite |
| 568× | prod-diff_binary64 |
| 144× | add-sqr-sqrt_binary64 |
| 135× | log1p-expm1-u_binary64 |
| 135× | expm1-log1p-u_binary64 |
| 134× | add-log-exp_binary64 |
3 calls:
| 119.0ms | (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) |
| 119.0ms | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| 119.0ms | (*.f64 c (*.f64 x (*.f64 s s))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 46 |
| 1 | 276 | 46 |
| 2 | 4033 | 46 |
| 3 | 5107 | 46 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 477× | associate-/l/_binary64 |
| 474× | cancel-sign-sub-inv_binary64 |
| 402× | fma-neg_binary64 |
| 393× | fma-def_binary64 |
| 384× | unswap-sqr_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 1633 |
| 1 | 162 | 1631 |
| 2 | 459 | 1627 |
| 3 | 1862 | 1620 |
| 4 | 4674 | 1618 |
| 5 | 5056 | 1618 |
22 alts after pruning (21 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 139 | 9 | 148 |
| Fresh | 7 | 12 | 19 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 146 | 22 | 168 |
| Status | Error | Program |
| ✓ | 20.4b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| 41.9b | (/.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 34.1b | (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) 3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 31.7b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c (*.f64 s (sqrt.f64 x)))) (*.f64 c (*.f64 s (sqrt.f64 x)))) | |
| 44.4b | (*.f64 (/.f64 1 (pow.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) 3) 1/3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.1b | (/.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) 2) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 42.3b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) 2))) | |
| 20.6b | (pow.f64 (*.f64 (*.f64 c (*.f64 x (*.f64 s s))) (*.f64 c (/.f64 x (cos.f64 (+.f64 x x))))) -1) | |
| 34.0b | (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (/.f64 (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (cbrt.f64 (cos.f64 (+.f64 x x))))) | |
| 36.4b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (pow.f64 (*.f64 (sqrt.f64 (*.f64 c x)) s) 2)) | |
| 33.9b | (*.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 20.8b | (*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c)) 2) (*.f64 c x)) (/.f64 (cbrt.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c)) (*.f64 s s))) | |
| 29.1b | (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 3)) | |
| 24.8b | (*.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c x)) (/.f64 (/.f64 1 c) (*.f64 s s))) | |
| ▶ | 17.1b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (pow.f64 s 2) (*.f64 c x))) |
| 35.7b | (*.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 (sqrt.f64 (*.f64 c x)) s)) (/.f64 (/.f64 1 c) (*.f64 (sqrt.f64 (*.f64 c x)) s))) | |
| 34.1b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) | |
| 33.9b | (*.f64 (pow.f64 (/.f64 1 (*.f64 c (*.f64 s (sqrt.f64 x)))) 2) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.0b | (-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2))) (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)))) | |
| 20.4b | (*.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c (*.f64 x (*.f64 s s)))) (/.f64 (/.f64 1 x) c)) | |
| 42.1b | (pow.f64 (/.f64 (sqrt.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c)) (*.f64 (sqrt.f64 (*.f64 c x)) s)) 2) | |
| 34.7b | (*.f64 (/.f64 1 (*.f64 (sqrt.f64 (*.f64 c x)) s)) (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (sqrt.f64 (*.f64 c x)) s))) |
Compiled 4315 to 1448 computations (66.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (cos.f64 (+.f64 x x)) x) |
| 0.2b | (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) | |
| ✓ | 7.0b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (pow.f64 s 2) (*.f64 c x))) |
| ✓ | 13.1b | (*.f64 (pow.f64 s 2) (*.f64 c x)) |
3 calls:
| 145.0ms | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (pow.f64 s 2) (*.f64 c x))) |
| 21.0ms | (*.f64 (pow.f64 s 2) (*.f64 c x)) |
| 3.0ms | (/.f64 (cos.f64 (+.f64 x x)) x) |
| 2× | batch-egg-rewrite |
| 583× | prod-diff_binary64 |
| 151× | add-sqr-sqrt_binary64 |
| 143× | log1p-expm1-u_binary64 |
| 143× | expm1-log1p-u_binary64 |
| 141× | add-log-exp_binary64 |
3 calls:
| 87.0ms | (/.f64 (cos.f64 (+.f64 x x)) x) |
| 87.0ms | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (pow.f64 s 2) (*.f64 c x))) |
| 87.0ms | (*.f64 (pow.f64 s 2) (*.f64 c x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 43 |
| 1 | 297 | 43 |
| 2 | 4169 | 43 |
| 3 | 5265 | 43 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 475× | associate-*l/_binary64 |
| 441× | associate-/l/_binary64 |
| 441× | cancel-sign-sub-inv_binary64 |
| 436× | fma-def_binary64 |
| 385× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 1239 |
| 1 | 142 | 1233 |
| 2 | 425 | 1229 |
| 3 | 1789 | 1222 |
| 4 | 5021 | 1222 |
20 alts after pruning (19 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 171 | 2 | 173 |
| Fresh | 3 | 17 | 20 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 175 | 20 | 195 |
| Status | Error | Program |
| 42.1b | (pow.f64 (/.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c x))) (*.f64 s (sqrt.f64 (*.f64 c x)))) 2) | |
| ✓ | 20.4b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 c (*.f64 x (*.f64 s s)))) |
| 41.9b | (/.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 34.1b | (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) 3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 31.7b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c (*.f64 s (sqrt.f64 x)))) (*.f64 c (*.f64 s (sqrt.f64 x)))) | |
| 44.4b | (*.f64 (/.f64 1 (pow.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) 3) 1/3)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.1b | (/.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)) 2) (/.f64 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) x)))) | |
| 42.3b | (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) 2))) | |
| 36.4b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (pow.f64 (*.f64 (sqrt.f64 (*.f64 c x)) s) 2)) | |
| 17.1b | (*.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c x)) (/.f64 1 (*.f64 (*.f64 s s) (*.f64 c x)))) | |
| 33.9b | (*.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 35.7b | (*.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 (sqrt.f64 (*.f64 c x)) s)) (/.f64 (/.f64 1 c) (*.f64 (sqrt.f64 (*.f64 c x)) s))) | |
| 34.1b | (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) | |
| 33.9b | (*.f64 (pow.f64 (/.f64 1 (*.f64 c (*.f64 s (sqrt.f64 x)))) 2) (/.f64 (cos.f64 (+.f64 x x)) x)) | |
| 34.0b | (-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2))) (/.f64 (pow.f64 (sin.f64 x) 2) (*.f64 x (pow.f64 (*.f64 c (*.f64 s (sqrt.f64 x))) 2)))) | |
| 20.4b | (*.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c (*.f64 x (*.f64 s s)))) (/.f64 (/.f64 1 x) c)) | |
| 20.6b | (pow.f64 (*.f64 (*.f64 c (*.f64 x (*.f64 s s))) (*.f64 c (/.f64 x (cos.f64 (+.f64 x x))))) -1) | |
| 29.1b | (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 x (*.f64 s s))))) 3)) | |
| 34.7b | (*.f64 (/.f64 1 (*.f64 (sqrt.f64 (*.f64 c x)) s)) (/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) c) (*.f64 (sqrt.f64 (*.f64 c x)) s))) | |
| 24.8b | (*.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) x) (*.f64 c x)) (/.f64 (/.f64 1 c) (*.f64 s s))) |
Compiled 4336 to 1563 computations (64% saved)
Total 3.5b remaining (43.2%)
Threshold costs 0b (0%)
Compiled 18695 to 11660 computations (37.6% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 5 | -3.56414877511012e-307 | 9.81047130578343e-294 | 2.549378178247403e-309 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 64 |
| 1 | 32 | 64 |
| 2 | 31 | 64 |
(sort c s)
Compiled 645 to 379 computations (41.2% saved)
Loading profile data...