Time bar (total: 6.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 50% | 50% | 0 |
| 0% | 50% | 50% | 1 |
| 25% | 25% | 50% | 2 |
| 25% | 25% | 50% | 3 |
| 31.2% | 18.7% | 50% | 4 |
| 31.2% | 18.7% | 50% | 5 |
| 34.3% | 15.6% | 50% | 6 |
| 34.3% | 15.6% | 50% | 7 |
| 35.9% | 14% | 50% | 8 |
| 35.9% | 14% | 50% | 9 |
| 36.7% | 13.3% | 50% | 10 |
| 36.7% | 13.3% | 50% | 11 |
| 37.1% | 12.9% | 50% | 12 |
| 37.1% | 12.9% | 50% | 13 |
| 37.3% | 12.7% | 50% | 14 |
Compiled 20 to 14 computations (30% saved)
| 1× | intervals |
| 12.0ms | 197× | body | 128 | valid |
| 5.0ms | 19× | body | 2048 | valid |
| 5.0ms | 13× | body | 4096 | valid |
| 4.0ms | 256× | pre | 128 | true |
| 3.0ms | 14× | body | 1024 | valid |
| 1.0ms | 8× | body | 512 | valid |
| 1.0ms | 5× | body | 256 | valid |
Compiled 39 to 28 computations (28.2% saved)
| 1× | egg-herbie |
| 203× | fma-def_binary64 |
| 142× | fma-neg_binary64 |
| 51× | distribute-rgt-in_binary64 |
| 42× | cancel-sign-sub-inv_binary64 |
| 28× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 15 |
| 1 | 20 | 15 |
| 2 | 33 | 15 |
| 3 | 50 | 15 |
| 4 | 69 | 15 |
| 5 | 98 | 15 |
| 6 | 151 | 15 |
| 7 | 211 | 15 |
| 8 | 263 | 15 |
| 9 | 305 | 15 |
| 10 | 343 | 15 |
| 11 | 379 | 15 |
| 12 | 396 | 15 |
| 13 | 415 | 15 |
| 14 | 428 | 15 |
| 15 | 465 | 15 |
| 16 | 477 | 15 |
| 17 | 486 | 15 |
| 18 | 449 | 15 |
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 |
| ▶ | 13.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 51 to 37 computations (27.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (hypot.f64 re im) |
| ✓ | 1.0b | (-.f64 (hypot.f64 re im) re) |
2 calls:
| 14.0ms | (-.f64 (hypot.f64 re im) re) |
| 12.0ms | (hypot.f64 re im) |
| 1× | rewrite-expression-head |
| 12× | *-un-lft-identity_binary64 |
| 12× | add-sqr-sqrt_binary64 |
| 10× | add-cube-cbrt_binary64 |
| 9× | prod-diff_binary64 |
| 4× | add-log-exp_binary64 |
2 calls:
| 3.0ms | (-.f64 (hypot.f64 re im) re) |
| 0.0ms | (hypot.f64 re im) |
| 1× | egg-herbie |
| 952× | fma-neg_binary64 |
| 648× | fma-def_binary64 |
| 605× | times-frac_binary64 |
| 452× | associate-*l*_binary64 |
| 282× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 143 | 1564 |
| 1 | 361 | 1325 |
| 2 | 1177 | 1271 |
| 3 | 4676 | 1269 |
| 4 | 5270 | 1269 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 101 | 3 | 104 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 101 | 4 | 105 |
| Status | Error | Program |
| ✓ | 13.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
| 55.7b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| 30.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| ▶ | 14.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) |
Compiled 2236 to 1360 computations (39.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
| 0.0b | (hypot.f64 re im) | |
| ✓ | 14.7b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)) |
1 calls:
| 41.0ms | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)) |
| 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 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)) |
| 1× | egg-herbie |
| 488× | fma-def_binary64 |
| 469× | fma-neg_binary64 |
| 442× | cancel-sign-sub-inv_binary64 |
| 237× | associate-/r/_binary64 |
| 212× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 312 |
| 1 | 151 | 269 |
| 2 | 418 | 267 |
| 3 | 1764 | 267 |
| 4 | 4658 | 267 |
| 5 | 4962 | 267 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 111 | 1 | 112 |
| Fresh | 0 | 2 | 2 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 112 | 4 | 116 |
| Status | Error | Program |
| ✓ | 13.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
| 55.7b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| 30.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| ▶ | 18.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))))) |
Compiled 2850 to 1588 computations (44.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| 0.0b | (hypot.f64 re im) | |
| ✓ | 4.7b | (exp.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| 14.7b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)) |
1 calls:
| 42.0ms | (exp.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| 1× | rewrite-expression-head |
| 4× | exp-prod_binary64 |
| 3× | exp-sum_binary64 |
| 3× | log-prod_binary64 |
| 3× | *-un-lft-identity_binary64 |
| 3× | add-sqr-sqrt_binary64 |
1 calls:
| 2.0ms | (exp.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| 1× | egg-herbie |
| 490× | fma-def_binary64 |
| 469× | fma-neg_binary64 |
| 442× | cancel-sign-sub-inv_binary64 |
| 237× | associate-/r/_binary64 |
| 213× | associate-/l/_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 82 | 592 |
| 1 | 172 | 355 |
| 2 | 446 | 353 |
| 3 | 1804 | 345 |
| 4 | 4720 | 345 |
| 5 | 5026 | 345 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 153 | 2 | 155 |
| Fresh | 0 | 2 | 2 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 154 | 5 | 159 |
| Status | Error | Program |
| ▶ | 20.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))))) |
| ✓ | 13.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
| 55.7b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| 30.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| 32.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 im))))) |
Compiled 4133 to 2263 computations (45.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| ✓ | 2.7b | (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) |
| ✓ | 4.7b | (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) |
| 14.7b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)) |
3 calls:
| 2.0s | (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) |
| 816.0ms | (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) |
| 205.0ms | (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| 1× | rewrite-expression-head |
| 8× | cbrt-prod_binary64 |
| 7× | pow-unpow_binary64 |
| 7× | *-un-lft-identity_binary64 |
| 7× | add-sqr-sqrt_binary64 |
| 7× | add-cube-cbrt_binary64 |
3 calls:
| 5.0ms | (pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) |
| 2.0ms | (exp.f64 (*.f64 (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))) |
| 1.0ms | (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) |
| 1× | egg-herbie |
| 847× | times-frac_binary64 |
| 395× | *-commutative_binary64 |
| 206× | associate-*r*_binary64 |
| 184× | +-commutative_binary64 |
| 178× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 926 | 18059 |
| 1 | 3160 | 14565 |
| 2 | 4962 | 14565 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 326 | 3 | 329 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 327 | 7 | 334 |
| Status | Error | Program |
| 55.7b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| 54.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))) 3)))))) | |
| 62.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 1/2 re))) 2))) (cbrt.f64 (log.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))))) | |
| ✓ | 13.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
| 61.1b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (pow.f64 (*.f64 (+.f64 (log.f64 (/.f64 1/2 re)) (*.f64 2 (log.f64 im))) (pow.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1/2 re))) 2)) 1/3))))) | |
| 30.3b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| 32.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 im))))) |
Compiled 35843 to 18928 computations (47.2% saved)
Total 4.8b remaining (45.1%)
Threshold costs 0b (0%)
Compiled 2922 to 1970 computations (32.6% saved)
Compiled 12 to 7 computations (41.7% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 62 |
| 1 | 38 | 62 |
| 2 | 43 | 62 |
| 3 | 45 | 62 |
| 4 | 46 | 62 |
| 5 | 46 | 62 |
Compiled 42 to 32 computations (23.8% saved)
| 1× | intervals |
| 382.0ms | 6007× | body | 128 | valid |
| 208.0ms | 541× | body | 4096 | valid |
| 189.0ms | 629× | body | 2048 | valid |
| 118.0ms | 8000× | pre | 128 | true |
| 109.0ms | 442× | body | 1024 | valid |
| 45.0ms | 263× | body | 512 | valid |
| 13.0ms | 118× | body | 256 | valid |
Compiled 191 to 152 computations (20.4% saved)
Loading profile data...