Time bar (total: 31.1s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 98.2% | 1.8% | 7 |
| 0% | 92% | 8% | 8 |
| 0% | 91.2% | 8.8% | 9 |
| 0.4% | 89.3% | 10.3% | 10 |
| 7.1% | 79.2% | 13.6% | 11 |
| 11.9% | 70.2% | 17.9% | 12 |
| 13.8% | 67.4% | 18.7% | 13 |
| 16.6% | 63.3% | 20.1% | 14 |
Compiled 45 to 33 computations (26.7% saved)
| Status | Error | Program |
| ▶ | 51.5b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
(sort A C)
| 1.6s | 5722× | body | 128 | valid |
| 859.0ms | 914× | body | 1024 | valid |
| 820.0ms | 632× | body | 2048 | valid |
| 794.0ms | 879× | body | 1024 | invalid |
| 749.0ms | 610× | body | 2048 | invalid |
| 707.0ms | 2652× | body | 128 | invalid |
| 440.0ms | 632× | body | 512 | valid |
| 400.0ms | 600× | body | 512 | invalid |
| 167.0ms | 354× | body | 256 | valid |
| 149.0ms | 312× | body | 256 | invalid |
| 2.0ms | 2× | body | 4096 | valid |
Compiled 222 to 162 computations (27% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 7.7b | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
| ✓ | 11.8b | (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) |
| ✓ | 21.8b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
| ✓ | 34.1b | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
4 calls:
| 8.9s | (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) |
| 6.1s | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
| 94.0ms | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
| 27.0ms | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
| 2× | batch-egg-rewrite |
| 252× | log1p-expm1-u_binary64 |
| 252× | expm1-log1p-u_binary64 |
| 242× | add-cbrt-cube_binary64 |
| 242× | add-exp-log_binary64 |
| 242× | add-log-exp_binary64 |
4 calls:
| 70.0ms | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
| 70.0ms | (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) |
| 70.0ms | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
| 70.0ms | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 136 |
| 1 | 525 | 112 |
| 2 | 4786 | 112 |
| 3 | 4945 | 112 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
18 alts after pruning (18 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 188 | 18 | 206 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 189 | 18 | 207 |
| Status | Error | Program |
| 48.8b | (pow.f64 (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))))) -1) | |
| 51.4b | (/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (pow.f64 B 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 49.5b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (expm1.f64 (log1p.f64 (hypot.f64 (-.f64 A C) B))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.1b | (*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 52.6b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (cbrt.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.0b | (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (/.f64 (sqrt.f64 2) B))) | |
| 48.9b | (/.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (cbrt.f64 (hypot.f64 (-.f64 A C) B)) 3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| ▶ | 47.9b | (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))) |
| 54.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (-.f64 C A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.8b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 53.0b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3) 1/3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.0b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 57.9b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 59.2b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 53.5b | (/.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B))) 3/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (sqrt.f64 (hypot.f64 (-.f64 A C) B)) 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 30505 to 21326 computations (30.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)) |
| ✓ | 14.5b | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
2 calls:
| 26.0ms | (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)) |
| 21.0ms | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
| 2× | batch-egg-rewrite |
| 899× | log1p-expm1-u_binary64 |
| 899× | expm1-log1p-u_binary64 |
| 99× | add-sqr-sqrt_binary64 |
| 94× | add-log-exp_binary64 |
| 93× | add-cube-cbrt_binary64 |
2 calls:
| 50.0ms | (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)) |
| 50.0ms | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 21 |
| 1 | 208 | 18 |
| 2 | 2361 | 18 |
| 3 | 5500 | 18 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
26 alts after pruning (26 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 32 | 10 | 42 |
| Fresh | 1 | 16 | 17 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 34 | 26 | 60 |
| Status | Error | Program |
| 48.7b | (*.f64 -1 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2))) | |
| 63.0b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.8b | (pow.f64 (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))))) -1) | |
| 51.4b | (/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (pow.f64 B 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.7b | (*.f64 -1 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1))))) | |
| 52.2b | (*.f64 -1 (*.f64 (pow.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) 1/3) (sqrt.f64 2))) | |
| 49.5b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (expm1.f64 (log1p.f64 (hypot.f64 (-.f64 A C) B))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.1b | (*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| ▶ | 42.0b | (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2))) |
| 52.6b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (cbrt.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.0b | (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (/.f64 (sqrt.f64 2) B))) | |
| 51.5b | (*.f64 -1 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) (*.f64 2 (sqrt.f64 2))))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (sqrt.f64 (hypot.f64 (-.f64 A C) B)) 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (cbrt.f64 (hypot.f64 (-.f64 A C) B)) 3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 54.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (-.f64 C A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.8b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 53.0b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3) 1/3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 47.9b | (*.f64 -1 (pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1))) 2)) | |
| 48.1b | (*.f64 -1 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1))) 3)) | |
| 52.2b | (*.f64 -1 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1)) 3) 1/3)) | |
| 54.7b | (*.f64 -1 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1)))) 1)) | |
| 47.8b | (*.f64 -1 (sqrt.f64 (*.f64 (/.f64 F C) -1))) | |
| 57.9b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 59.2b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 2088 to 1562 computations (25.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) |
| ✓ | 0.4b | (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)) |
2 calls:
| 33.0ms | (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)) |
| 28.0ms | (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) |
| 2× | batch-egg-rewrite |
| 541× | log-prod_binary64 |
| 268× | pow2_binary64 |
| 189× | pow1/3_binary64 |
| 186× | expm1-udef_binary64 |
| 186× | log1p-udef_binary64 |
2 calls:
| 55.0ms | (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) |
| 55.0ms | (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 23 |
| 1 | 226 | 21 |
| 2 | 2613 | 21 |
| 3 | 5074 | 21 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
31 alts after pruning (31 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 65 | 9 | 74 |
| Fresh | 3 | 22 | 25 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 69 | 31 | 100 |
| Status | Error | Program |
| 48.1b | (*.f64 -1 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1))) 3)) | |
| 42.1b | (*.f64 -1 (*.f64 (*.f64 (/.f64 1 (pow.f64 C 1/4)) (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (pow.f64 C 1/4))) (sqrt.f64 2))) | |
| 42.0b | (*.f64 -1 (/.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2)) (pow.f64 C 1/4)) (pow.f64 C 1/4))) | |
| 52.2b | (*.f64 -1 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1)) 3) 1/3)) | |
| 42.1b | (*.f64 -1 (/.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2)) (cbrt.f64 C)) (cbrt.f64 (sqrt.f64 C)))) | |
| 42.0b | (*.f64 -1 (*.f64 (*.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (*.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (pow.f64 C -1/2))) (sqrt.f64 2))) | |
| ▶ | 42.0b | (*.f64 -1 (/.f64 1 (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2))))) |
| 48.7b | (*.f64 -1 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2))) | |
| 63.0b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.1b | (*.f64 -1 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1/2 F)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (pow.f64 C -1/2))) (sqrt.f64 2))) | |
| 57.9b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.0b | (*.f64 -1 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (/.f64 (sqrt.f64 C) (sqrt.f64 2)))) | |
| 48.8b | (pow.f64 (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))))) -1) | |
| 51.4b | (/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (pow.f64 B 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 57.5b | (*.f64 -1 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 -1/2 F) 3/2) (pow.f64 C 3/2))) (sqrt.f64 2))) | |
| 52.2b | (*.f64 -1 (*.f64 (pow.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) 1/3) (sqrt.f64 2))) | |
| 49.5b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (expm1.f64 (log1p.f64 (hypot.f64 (-.f64 A C) B))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.1b | (*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 52.6b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (cbrt.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.0b | (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (/.f64 (sqrt.f64 2) B))) | |
| 51.5b | (*.f64 -1 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) (*.f64 2 (sqrt.f64 2))))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (sqrt.f64 (hypot.f64 (-.f64 A C) B)) 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (cbrt.f64 (hypot.f64 (-.f64 A C) B)) 3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 54.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (-.f64 C A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.8b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 53.0b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3) 1/3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.1b | (*.f64 -1 (*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (cbrt.f64 C)) (/.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (cbrt.f64 (sqrt.f64 C)))) (sqrt.f64 2))) | |
| 54.7b | (*.f64 -1 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1)))) 1)) | |
| 51.2b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 59.2b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 2927 to 2299 computations (21.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 1 (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2)))) |
| ✓ | 0.3b | (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2))) |
2 calls:
| 37.0ms | (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2))) |
| 28.0ms | (/.f64 1 (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2)))) |
| 2× | batch-egg-rewrite |
| 587× | log-prod_binary64 |
| 365× | prod-diff_binary64 |
| 198× | expm1-udef_binary64 |
| 198× | log1p-udef_binary64 |
| 187× | log-pow_binary64 |
2 calls:
| 90.0ms | (/.f64 1 (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2)))) |
| 90.0ms | (/.f64 (sqrt.f64 C) (sqrt.f64 (*.f64 (*.f64 -1/2 F) 2))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 27 |
| 1 | 249 | 18 |
| 2 | 2820 | 18 |
| 3 | 4969 | 18 |
| 4 | 5619 | 18 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
30 alts after pruning (30 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 6 | 88 |
| Fresh | 6 | 24 | 30 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 89 | 30 | 119 |
| Status | Error | Program |
| 48.7b | (*.f64 -1 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2))) | |
| 63.0b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 -8 (*.f64 A F))) (*.f64 C (sqrt.f64 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.1b | (*.f64 -1 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1/2 F)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (pow.f64 C -1/2))) (sqrt.f64 2))) | |
| 57.9b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.0b | (*.f64 -1 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (/.f64 (sqrt.f64 C) (sqrt.f64 2)))) | |
| 48.8b | (pow.f64 (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))))) -1) | |
| 51.4b | (/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 F (*.f64 (sqrt.f64 2) (pow.f64 B 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 57.5b | (*.f64 -1 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 -1/2 F) 3/2) (pow.f64 C 3/2))) (sqrt.f64 2))) | |
| 42.1b | (*.f64 -1 (/.f64 1 (*.f64 (cbrt.f64 C) (*.f64 (cbrt.f64 (sqrt.f64 C)) (pow.f64 (*.f64 F -1) -1/2))))) | |
| 51.2b | (/.f64 (neg.f64 (*.f64 -1 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 52.2b | (*.f64 -1 (*.f64 (pow.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) 1/3) (sqrt.f64 2))) | |
| 49.5b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (expm1.f64 (log1p.f64 (hypot.f64 (-.f64 A C) B))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.1b | (*.f64 -1 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 42.1b | (*.f64 -1 (*.f64 (/.f64 (cbrt.f64 (*.f64 F -1)) (pow.f64 C 1/4)) (/.f64 (cbrt.f64 (sqrt.f64 (*.f64 F -1))) (pow.f64 C 1/4)))) | |
| 52.6b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (cbrt.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.0b | (*.f64 -1 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (pow.f64 A 2) (pow.f64 B 2)))))) (/.f64 (sqrt.f64 2) B))) | |
| 51.5b | (*.f64 -1 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 F C)) 3/2) (*.f64 2 (sqrt.f64 2))))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (sqrt.f64 (hypot.f64 (-.f64 A C) B)) 2))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 42.1b | (*.f64 -1 (*.f64 (/.f64 (cbrt.f64 (*.f64 F -1)) 1) (/.f64 (cbrt.f64 (sqrt.f64 (*.f64 F -1))) (sqrt.f64 C)))) | |
| 48.9b | (/.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B)))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.9b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (cbrt.f64 (hypot.f64 (-.f64 A C) B)) 3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 54.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (-.f64 C A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 47.9b | (*.f64 -1 (/.f64 1 (pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 C (*.f64 F -1)))) 3))) | |
| 48.8b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F) (-.f64 (+.f64 A C) (hypot.f64 (-.f64 A C) B))) 1/2))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 53.0b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (pow.f64 (pow.f64 (hypot.f64 (-.f64 A C) B) 3) 1/3))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.9b | (*.f64 -1 (/.f64 1 (pow.f64 (pow.f64 (sqrt.f64 (/.f64 C (*.f64 F -1))) 3) 1/3))) | |
| 42.1b | (*.f64 -1 (*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (cbrt.f64 C)) (/.f64 (pow.f64 (*.f64 -1/2 F) 1/4) (cbrt.f64 (sqrt.f64 C)))) (sqrt.f64 2))) | |
| 42.0b | (*.f64 -1 (*.f64 (pow.f64 C -1/2) (pow.f64 (pow.f64 (*.f64 F -1) -1/2) -1))) | |
| 54.7b | (*.f64 -1 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 F C) -1)))) 1)) | |
| 59.2b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (pow.f64 C 2) (pow.f64 B 2)))))) (*.f64 (sqrt.f64 2) B))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 2179 to 1703 computations (21.8% saved)
Total 3.9b remaining (12.7%)
Threshold costs 0b (0%)
Compiled 31901 to 24819 computations (22.2% saved)
Compiled 44 to 32 computations (27.3% saved)
| 1× | egg-herbie |
| 159× | distribute-rgt-neg-in_binary64 |
| 126× | cancel-sign-sub-inv_binary64 |
| 114× | distribute-lft-neg-in_binary64 |
| 101× | neg-sub0_binary64 |
| 96× | neg-mul-1_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 405 |
| 1 | 142 | 394 |
| 2 | 208 | 394 |
| 3 | 276 | 394 |
| 4 | 319 | 394 |
| 5 | 355 | 394 |
| 6 | 384 | 394 |
| 7 | 402 | 394 |
| 8 | 408 | 394 |
| 9 | 421 | 394 |
| 10 | 450 | 394 |
| 11 | 485 | 394 |
| 12 | 520 | 394 |
| 13 | 565 | 394 |
| 14 | 609 | 394 |
| 15 | 674 | 394 |
| 16 | 739 | 394 |
| 17 | 786 | 394 |
| 18 | 822 | 394 |
| 19 | 835 | 394 |
| 20 | 837 | 394 |
| 21 | 825 | 394 |
Compiled 1915 to 1371 computations (28.4% saved)
Loading profile data...