Time bar (total: 4.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 12.5% | 87.5% | 0 |
| 0% | 12.5% | 87.5% | 1 |
| 0% | 12.5% | 87.5% | 2 |
| 3.1% | 9.3% | 87.5% | 3 |
| 3.1% | 6.2% | 90.7% | 4 |
| 4.7% | 4.7% | 90.7% | 5 |
| 4.7% | 3.5% | 91.8% | 6 |
| 5.6% | 2.5% | 91.8% | 7 |
| 5.9% | 1.8% | 92.3% | 8 |
| 6.4% | 1.3% | 92.3% | 9 |
| 6.6% | 0.9% | 92.5% | 10 |
| 6.8% | 0.6% | 92.5% | 11 |
| 6.9% | 0.5% | 92.6% | 12 |
| 7% | 0.3% | 92.6% | 13 |
| 7.1% | 0.2% | 92.7% | 14 |
Compiled 23 to 16 computations (30.4% saved)
| 1× | intervals |
| 10.0ms | 256× | body | 128 | valid |
| 6.0ms | 257× | pre | 128 | true |
| 0.0ms | 1× | body | 128 | invalid |
Compiled 38 to 27 computations (28.9% saved)
| 1× | egg-herbie |
| 724× | associate-/r/_binary64 |
| 530× | unsub-neg_binary64 |
| 520× | distribute-rgt-in_binary64 |
| 518× | div-sub_binary64 |
| 438× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 16 |
| 1 | 20 | 16 |
| 2 | 39 | 16 |
| 3 | 72 | 16 |
| 4 | 207 | 16 |
| 5 | 430 | 16 |
| 6 | 715 | 16 |
| 7 | 1126 | 16 |
| 8 | 955 | 16 |
| 9 | 1077 | 16 |
| 10 | 1417 | 16 |
| 11 | 1909 | 16 |
| 12 | 2195 | 16 |
| 13 | 3288 | 16 |
| 14 | 3288 | 16 |
| 15 | 3681 | 16 |
| 16 | 4740 | 16 |
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 |
| ▶ | 0.2b | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m) |
Compiled 39 to 27 computations (30.8% saved)
Found 4 expressions with local error:
| 0.0b | (*.f64 m (-.f64 1 m)) |
| 0.0b | (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) |
| 0.1b | (/.f64 (*.f64 m (-.f64 1 m)) v) |
| 0.1b | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m) |
| 1× | rewrite-expression-head |
| 28× | add-sqr-sqrt_binary64 |
| 22× | *-un-lft-identity_binary64 |
| 13× | add-cube-cbrt_binary64 |
| 13× | add-cbrt-cube_binary64 |
| 13× | add-exp-log_binary64 |
4 calls:
| 11.0ms | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m) |
| 8.0ms | (/.f64 (*.f64 m (-.f64 1 m)) v) |
| 7.0ms | (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) |
| 6.0ms | (*.f64 m (-.f64 1 m)) |
Compiled 1708 to 1122 computations (34.3% saved)
4 calls:
| 34.0ms | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m) |
| 26.0ms | (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) |
| 19.0ms | (/.f64 (*.f64 m (-.f64 1 m)) v) |
| 8.0ms | (*.f64 m (-.f64 1 m)) |
Compiled 1013 to 684 computations (32.5% saved)
| 1× | egg-herbie |
| 440× | div-sub_binary64 |
| 374× | distribute-rgt-in_binary64 |
| 354× | distribute-lft-in_binary64 |
| 341× | associate-*l/_binary64 |
| 215× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 161 | 1957 |
| 1 | 373 | 1773 |
| 2 | 1181 | 1757 |
| 3 | 3853 | 1752 |
| 4 | 5199 | 1752 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 112 | 7 | 119 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 112 | 8 | 120 |
| Status | Error | Program |
| 0.2b | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) | |
| ▶ | 0.1b | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 8.0b | (*.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v)) (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v))) 1) m) | |
| 0.6b | (*.f64 (*.f64 (+.f64 -1 (/.f64 (-.f64 m (*.f64 m m)) v)) (sqrt.f64 m)) (sqrt.f64 m)) | |
| 14.1b | (-.f64 (/.f64 (*.f64 m m) v) m) | |
| 0.3b | (*.f64 (-.f64 (/.f64 (*.f64 (sqrt.f64 m) (*.f64 (-.f64 1 m) (sqrt.f64 m))) v) 1) m) | |
| ✓ | 0.2b | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m) |
| 20.0b | (/.f64 (*.f64 m (+.f64 -1 (pow.f64 (/.f64 (-.f64 m (*.f64 m m)) v) 3))) (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) |
Compiled 1404 to 669 computations (52.4% saved)
Found 4 expressions with local error:
| 0.0b | (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) |
| 0.0b | (/.f64 (-.f64 1 m) v) |
| 0.1b | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 0.3b | (*.f64 m (/.f64 (-.f64 1 m) v)) |
| 1× | rewrite-expression-head |
| 57× | add-sqr-sqrt_binary64 |
| 50× | *-un-lft-identity_binary64 |
| 37× | times-frac_binary64 |
| 29× | add-cube-cbrt_binary64 |
| 25× | associate-*r*_binary64 |
4 calls:
| 10.0ms | (*.f64 m (/.f64 (-.f64 1 m) v)) |
| 10.0ms | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 7.0ms | (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) |
| 5.0ms | (/.f64 (-.f64 1 m) v) |
Compiled 2138 to 1380 computations (35.5% saved)
4 calls:
| 32.0ms | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 25.0ms | (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) |
| 18.0ms | (*.f64 m (/.f64 (-.f64 1 m) v)) |
| 14.0ms | (/.f64 (-.f64 1 m) v) |
Compiled 1155 to 775 computations (32.9% saved)
| 1× | egg-herbie |
| 416× | associate-*l/_binary64 |
| 411× | distribute-rgt-in_binary64 |
| 395× | distribute-lft-in_binary64 |
| 331× | times-frac_binary64 |
| 316× | associate-/l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 176 | 2367 |
| 1 | 403 | 2187 |
| 2 | 1248 | 2176 |
| 3 | 4492 | 2164 |
| 4 | 4973 | 2164 |
| 5 | 4942 | 2164 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 114 | 2 | 116 |
| Fresh | 2 | 4 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 117 | 7 | 124 |
| Status | Error | Program |
| 0.2b | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) | |
| ✓ | 0.1b | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 8.0b | (*.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v)) (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v))) 1) m) | |
| 14.1b | (-.f64 (/.f64 (*.f64 m m) v) m) | |
| ▶ | 0.2b | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) |
| 20.0b | (/.f64 (*.f64 m (+.f64 -1 (pow.f64 (/.f64 (-.f64 m (*.f64 m m)) v) 3))) (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) | |
| 0.2b | (*.f64 (-.f64 (*.f64 (-.f64 m (*.f64 m m)) (/.f64 1 v)) 1) m) |
Compiled 1424 to 808 computations (43.3% saved)
Found 3 expressions with local error:
| 0.0b | (-.f64 m (*.f64 m m)) |
| 0.0b | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) |
| 0.2b | (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) |
| 1× | rewrite-expression-head |
| 19× | add-sqr-sqrt_binary64 |
| 14× | *-un-lft-identity_binary64 |
| 13× | associate-*l*_binary64 |
| 12× | add-cube-cbrt_binary64 |
| 10× | times-frac_binary64 |
3 calls:
| 7.0ms | (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) |
| 6.0ms | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) |
| 2.0ms | (-.f64 m (*.f64 m m)) |
Compiled 1416 to 307 computations (78.3% saved)
3 calls:
| 31.0ms | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) |
| 25.0ms | (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) |
| 8.0ms | (-.f64 m (*.f64 m m)) |
Compiled 713 to 471 computations (33.9% saved)
| 1× | egg-herbie |
| 300× | associate-/l*_binary64 |
| 282× | distribute-rgt-in_binary64 |
| 272× | distribute-lft-in_binary64 |
| 238× | associate-*l/_binary64 |
| 216× | cancel-sign-sub-inv_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 146 | 1586 |
| 1 | 344 | 1499 |
| 2 | 1027 | 1484 |
| 3 | 3276 | 1469 |
| 4 | 4809 | 1463 |
| 5 | 4910 | 1463 |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 86 | 1 | 87 |
| Fresh | 2 | 3 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 88 | 6 | 94 |
| Status | Error | Program |
| ▶ | 0.2b | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) |
| ✓ | 0.1b | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) |
| 8.0b | (*.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v)) (sqrt.f64 (/.f64 (-.f64 m (*.f64 m m)) v))) 1) m) | |
| ✓ | 0.2b | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) |
| 20.0b | (/.f64 (*.f64 m (+.f64 -1 (pow.f64 (/.f64 (-.f64 m (*.f64 m m)) v) 3))) (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) | |
| 5.1b | (-.f64 (/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v) m) |
Compiled 1097 to 415 computations (62.2% saved)
Found 4 expressions with local error:
| 0.0b | (-.f64 m (*.f64 m m)) |
| 0.1b | (/.f64 v (-.f64 m (*.f64 m m))) |
| 0.1b | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) |
| 0.3b | (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) |
| 1× | rewrite-expression-head |
| 156× | times-frac_binary64 |
| 125× | add-sqr-sqrt_binary64 |
| 105× | *-un-lft-identity_binary64 |
| 74× | add-cube-cbrt_binary64 |
| 27× | difference-of-squares_binary64 |
4 calls:
| 26.0ms | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) |
| 8.0ms | (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) |
| 4.0ms | (/.f64 v (-.f64 m (*.f64 m m))) |
| 2.0ms | (-.f64 m (*.f64 m m)) |
Compiled 4491 to 1846 computations (58.9% saved)
4 calls:
| 31.0ms | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) |
| 23.0ms | (/.f64 v (-.f64 m (*.f64 m m))) |
| 19.0ms | (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) |
| 8.0ms | (-.f64 m (*.f64 m m)) |
Compiled 1211 to 845 computations (30.2% saved)
| 1× | egg-herbie |
| 343× | distribute-rgt-in_binary64 |
| 317× | distribute-lft-in_binary64 |
| 308× | times-frac_binary64 |
| 300× | div-sub_binary64 |
| 254× | associate-/l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 233 | 4661 |
| 1 | 468 | 4201 |
| 2 | 1434 | 4073 |
| 3 | 3844 | 4073 |
| 4 | 4991 | 4073 |
| 5 | 4970 | 4073 |
6 alts after pruning (3 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 197 | 1 | 198 |
| Fresh | 1 | 2 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 198 | 6 | 204 |
| Status | Error | Program |
| 0.4b | (*.f64 (-.f64 (*.f64 (/.f64 (+.f64 m (sqrt.f64 m)) (sqrt.f64 v)) (/.f64 (-.f64 (sqrt.f64 m) m) (sqrt.f64 v))) 1) m) | |
| 0.1b | (*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m) | |
| 0.2b | (*.f64 (-.f64 (/.f64 1 (/.f64 v (-.f64 m (*.f64 m m)))) 1) m) | |
| 0.2b | (-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m) | |
| 20.0b | (/.f64 (*.f64 m (+.f64 -1 (pow.f64 (/.f64 (-.f64 m (*.f64 m m)) v) 3))) (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) | |
| 5.1b | (-.f64 (/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v) m) |
Compiled 2233 to 832 computations (62.7% saved)
Total 0.2b remaining (89%)
Threshold costs 0.2b (89%)
Compiled 16115 to 9804 computations (39.2% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 16 |
| 1 | 18 | 16 |
| 2 | 22 | 16 |
| 3 | 24 | 16 |
| 4 | 25 | 16 |
| 5 | 23 | 16 |
Compiled 13 to 9 computations (30.8% saved)
| 1× | intervals |
| 335.0ms | 8000× | body | 128 | valid |
| 180.0ms | 8056× | pre | 128 | true |
| 3.0ms | 56× | body | 128 | invalid |
Compiled 158 to 104 computations (34.2% saved)
Loading profile data...