Time bar (total: 20.9s)
| 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)
| 1× | intervals |
| 26.0ms | 188× | body | 128 | valid |
| 19.0ms | 27× | body | 1024 | valid |
| 17.0ms | 30× | body | 1024 | nan |
| 15.0ms | 20× | body | 2048 | nan |
| 12.0ms | 87× | body | 128 | nan |
| 10.0ms | 24× | body | 512 | nan |
| 8.0ms | 14× | body | 256 | valid |
| 8.0ms | 19× | body | 512 | valid |
| 6.0ms | 8× | body | 2048 | valid |
| 5.0ms | 19× | body | 256 | nan |
Compiled 93 to 69 computations (25.8% saved)
| 1× | egg-herbie |
| 759× | neg-mul-1_binary64 |
| 493× | associate-*l*_binary64 |
| 463× | associate-*r*_binary64 |
| 420× | distribute-rgt-in_binary64 |
| 410× | distribute-lft-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 61 |
| 1 | 61 | 61 |
| 2 | 171 | 61 |
| 3 | 620 | 61 |
| 4 | 2440 | 61 |
| 5 | 4740 | 61 |
| 6 | 5396 | 61 |
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 |
| ▶ | 51.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) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 132 to 91 computations (31.1% saved)
Found 4 expressions with local error:
| 7.0b | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
| 15.5b | (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)))))) |
| 22.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))) |
| 33.9b | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
| 1× | rewrite-expression-head |
| 66× | sqrt-div_binary64 |
| 40× | associate-*r/_binary64 |
| 39× | *-un-lft-identity_binary64 |
| 36× | times-frac_binary64 |
| 35× | add-sqr-sqrt_binary64 |
4 calls:
| 28.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)))))) |
| 20.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))) |
| 12.0ms | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
| 8.0ms | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
Compiled 11279 to 7235 computations (35.9% saved)
4 calls:
| 856.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)))))) |
| 381.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))) |
| 129.0ms | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) |
| 84.0ms | (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F) |
Compiled 16633 to 12143 computations (27% saved)
| 1× | egg-herbie |
| 998× | times-frac_binary64 |
| 312× | *-commutative_binary64 |
| 252× | distribute-rgt-in_binary64 |
| 244× | distribute-lft-in_binary64 |
| 132× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 823 | 15809 |
| 1 | 2233 | 15350 |
| 2 | 4895 | 15347 |
| 3 | 6006 | 15347 |
18 alts after pruning (18 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 194 | 18 | 212 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 195 | 18 | 213 |
| Status | Error | Program |
| 51.7b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 52.0b | (/.f64 (neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 (*.f64 B B) (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) | |
| 55.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) (neg.f64 A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))) | |
| 51.6b | (/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.6b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| ▶ | 48.2b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) |
| 59.1b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 A (*.f64 F (-.f64 (+.f64 C A) (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 57.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (*.f64 (+.f64 A C) (+.f64 A C)) (*.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))))) (*.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) | |
| 51.1b | (/.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.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) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 60.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) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.9b | (/.f64 (neg.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 56.7b | (cbrt.f64 (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) 3)) | |
| 53.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) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 14114 to 7473 computations (47.1% saved)
Found 3 expressions with local error:
| 0.0b | (*.f64 -1/2 (/.f64 F C)) |
| 0.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) |
| 14.2b | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
| 1× | rewrite-expression-head |
| 23× | add-sqr-sqrt_binary64 |
| 17× | associate-*r*_binary64 |
| 15× | pow1_binary64 |
| 14× | add-cube-cbrt_binary64 *-un-lft-identity_binary64 |
| 10× | add-exp-log_binary64 add-cbrt-cube_binary64 times-frac_binary64 |
3 calls:
| 9.0ms | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) |
| 7.0ms | (*.f64 -1/2 (/.f64 F C)) |
| 4.0ms | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
Compiled 1066 to 739 computations (30.7% saved)
3 calls:
| 21.0ms | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) |
| 17.0ms | (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) |
| 16.0ms | (*.f64 -1/2 (/.f64 F C)) |
Compiled 660 to 562 computations (14.8% saved)
| 1× | egg-herbie |
| 670× | associate-*r/_binary64 |
| 353× | associate-*l*_binary64 |
| 288× | associate-/r/_binary64 |
| 284× | associate-/l/_binary64 |
| 276× | associate-*r*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 130 | 1103 |
| 1 | 280 | 1045 |
| 2 | 764 | 1045 |
| 3 | 1838 | 1045 |
| 4 | 3455 | 1045 |
| 5 | 3808 | 1045 |
| 6 | 4436 | 1045 |
| 7 | 4711 | 1045 |
| 8 | 4901 | 1045 |
| 9 | 4845 | 1045 |
27 alts after pruning (27 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 32 | 10 | 42 |
| Fresh | 0 | 17 | 17 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 33 | 27 | 60 |
| Status | Error | Program |
| ▶ | 43.9b | (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) (sqrt.f64 C))) |
| 51.7b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 48.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 -1/2 (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 F) C))))) | |
| 52.0b | (/.f64 (neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 (*.f64 B B) (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) | |
| 62.0b | (neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 2)))) | |
| 55.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) (neg.f64 A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))) | |
| 51.6b | (/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.6b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.3b | (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))))) | |
| 59.1b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 A (*.f64 F (-.f64 (+.f64 C A) (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 -1/2 (*.f64 (cbrt.f64 C) (cbrt.f64 C))) (/.f64 F (cbrt.f64 C)))))) | |
| 49.1b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F C))))))) | |
| 48.1b | (neg.f64 (sqrt.f64 (neg.f64 (/.f64 F C)))) | |
| 52.7b | (neg.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) 3)))) | |
| 57.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (*.f64 (+.f64 A C) (+.f64 A C)) (*.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))))) (*.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) | |
| 51.1b | (/.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.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) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 44.0b | (neg.f64 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)))) | |
| 60.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) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.2b | (neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 (sqrt.f64 2))))) | |
| 51.9b | (/.f64 (neg.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 56.7b | (cbrt.f64 (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) 3)) | |
| 53.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) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 2193 to 1567 computations (28.5% saved)
Found 2 expressions with local error:
| 0.3b | (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) (sqrt.f64 C)) |
| 0.4b | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) |
| 1× | rewrite-expression-head |
| 13× | add-sqr-sqrt_binary64 |
| 11× | sqrt-prod_binary64 |
| 9× | pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64 |
| 6× | associate-*l*_binary64 times-frac_binary64 associate-/r*_binary64 |
| 5× | pow-prod-down_binary64 |
2 calls:
| 9.0ms | (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) (sqrt.f64 C)) |
| 8.0ms | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) |
Compiled 847 to 633 computations (25.3% saved)
2 calls:
| 23.0ms | (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) (sqrt.f64 C)) |
| 9.0ms | (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) |
Compiled 378 to 330 computations (12.7% saved)
| 1× | egg-herbie |
| 633× | times-frac_binary64 |
| 597× | associate-/l*_binary64 |
| 332× | div-sub_binary64 |
| 291× | neg-mul-1_binary64 |
| 284× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 1100 |
| 1 | 208 | 974 |
| 2 | 755 | 969 |
| 3 | 3240 | 969 |
| 4 | 3341 | 969 |
| 5 | 4161 | 969 |
| 6 | 5011 | 969 |
30 alts after pruning (30 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 27 | 7 | 34 |
| Fresh | 3 | 23 | 26 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 31 | 30 | 61 |
| Status | Error | Program |
| 44.0b | (neg.f64 (/.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 (sqrt.f64 2)))) (sqrt.f64 C))) | |
| 51.7b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 48.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 -1/2 (*.f64 (cbrt.f64 F) (cbrt.f64 F))) (/.f64 (cbrt.f64 F) C))))) | |
| 43.9b | (neg.f64 (/.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (*.f64 F -1/2)) (cbrt.f64 (sqrt.f64 2)))) (sqrt.f64 C))) | |
| 52.0b | (/.f64 (neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 (*.f64 B B) (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) | |
| ▶ | 43.9b | (neg.f64 (/.f64 (sqrt.f64 (neg.f64 F)) (sqrt.f64 C))) |
| 62.0b | (neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 2)))) | |
| 55.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) (neg.f64 A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))) | |
| 51.6b | (/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.6b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.3b | (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))))) | |
| 49.2b | (neg.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 F -1/2))) 3)) (sqrt.f64 C))) | |
| 59.1b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 A (*.f64 F (-.f64 (+.f64 C A) (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 -1/2 (*.f64 (cbrt.f64 C) (cbrt.f64 C))) (/.f64 F (cbrt.f64 C)))))) | |
| 49.1b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F C))))))) | |
| 48.1b | (neg.f64 (sqrt.f64 (neg.f64 (/.f64 F C)))) | |
| 57.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (*.f64 (+.f64 A C) (+.f64 A C)) (*.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))))) (*.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) | |
| 44.0b | (neg.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 F -1/2)) (/.f64 (sqrt.f64 2) (sqrt.f64 (sqrt.f64 C)))) (sqrt.f64 (sqrt.f64 C)))) | |
| 51.1b | (/.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.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) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 44.2b | (neg.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 F -1/2)) (/.f64 (sqrt.f64 2) (*.f64 (cbrt.f64 (sqrt.f64 C)) (cbrt.f64 (sqrt.f64 C))))) (cbrt.f64 (sqrt.f64 C)))) | |
| 60.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) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 44.1b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (fabs.f64 (cbrt.f64 C))) (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 (cbrt.f64 C))))) | |
| 51.9b | (/.f64 (neg.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 56.7b | (cbrt.f64 (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) 3)) | |
| 53.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) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 2234 to 1592 computations (28.7% saved)
Found 1 expressions with local error:
| 0.3b | (/.f64 (sqrt.f64 (neg.f64 F)) (sqrt.f64 C)) |
| 1× | rewrite-expression-head |
| 112× | sqrt-prod_binary64 |
| 78× | times-frac_binary64 |
| 59× | add-sqr-sqrt_binary64 |
| 57× | add-cube-cbrt_binary64 *-un-lft-identity_binary64 |
| 21× | distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64 |
1 calls:
| 8.0ms | (/.f64 (sqrt.f64 (neg.f64 F)) (sqrt.f64 C)) |
Compiled 1365 to 408 computations (70.1% saved)
1 calls:
| 18.0ms | (/.f64 (sqrt.f64 (neg.f64 F)) (sqrt.f64 C)) |
Compiled 192 to 152 computations (20.8% saved)
| 1× | egg-herbie |
| 658× | div-sub_binary64 |
| 583× | neg-mul-1_binary64 |
| 506× | times-frac_binary64 |
| 483× | associate-/l*_binary64 |
| 321× | distribute-frac-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 147 | 2308 |
| 1 | 216 | 2266 |
| 2 | 394 | 2266 |
| 3 | 700 | 2266 |
| 4 | 1441 | 2266 |
| 5 | 1819 | 2266 |
| 6 | 2358 | 2266 |
| 7 | 2600 | 2266 |
| 8 | 3038 | 2266 |
| 9 | 4542 | 2266 |
| 10 | 4693 | 2266 |
31 alts after pruning (31 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 55 | 9 | 64 |
| Fresh | 7 | 22 | 29 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 63 | 31 | 94 |
| Status | Error | Program |
| 44.0b | (neg.f64 (/.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 (sqrt.f64 2)))) (sqrt.f64 C))) | |
| 51.7b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (exp.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 63.3b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))) | |
| 44.1b | (neg.f64 (*.f64 (fabs.f64 (cbrt.f64 F)) (/.f64 (sqrt.f64 (neg.f64 (cbrt.f64 F))) (sqrt.f64 C)))) | |
| 52.0b | (/.f64 (neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F))))) (/.f64 (*.f64 (*.f64 B B) (*.f64 F (sqrt.f64 2))) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.5b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) B) (sqrt.f64 (*.f64 F (-.f64 A (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 A A)))))))) | |
| 62.0b | (neg.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 2)))) | |
| 44.1b | (neg.f64 (*.f64 (/.f64 (fabs.f64 (cbrt.f64 F)) (sqrt.f64 (sqrt.f64 C))) (/.f64 (sqrt.f64 (neg.f64 (cbrt.f64 F))) (sqrt.f64 (sqrt.f64 C))))) | |
| 55.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) (neg.f64 A))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.2b | (/.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) (cbrt.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))))) (cbrt.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))) | |
| 51.6b | (/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 A (sqrt.f64 2)) (sqrt.f64 (*.f64 -8 (*.f64 C F)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 58.6b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (sqrt.f64 (+.f64 (*.f64 B B) (*.f64 C C)))))) (*.f64 B (sqrt.f64 2)))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 48.3b | (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))))) | |
| 44.2b | (neg.f64 (*.f64 (/.f64 (fabs.f64 (cbrt.f64 F)) (*.f64 (cbrt.f64 (sqrt.f64 C)) (cbrt.f64 (sqrt.f64 C)))) (/.f64 (sqrt.f64 (neg.f64 (cbrt.f64 F))) (cbrt.f64 (sqrt.f64 C))))) | |
| 59.1b | (/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -4 (*.f64 C (*.f64 A (*.f64 F (-.f64 (+.f64 C A) (sqrt.f64 (-.f64 (+.f64 (*.f64 C C) (*.f64 A A)) (*.f64 2 (*.f64 C A)))))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 49.1b | (neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (exp.f64 (log.f64 (*.f64 -1/2 (/.f64 F C))))))) | |
| 48.1b | (neg.f64 (sqrt.f64 (neg.f64 (/.f64 F C)))) | |
| 44.0b | (neg.f64 (/.f64 (/.f64 (sqrt.f64 (neg.f64 F)) (fabs.f64 (cbrt.f64 C))) (sqrt.f64 (cbrt.f64 C)))) | |
| 44.0b | (neg.f64 (*.f64 (/.f64 1 (fabs.f64 (cbrt.f64 C))) (/.f64 (sqrt.f64 (neg.f64 F)) (sqrt.f64 (cbrt.f64 C))))) | |
| 44.0b | (neg.f64 (*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 F))) (/.f64 (sqrt.f64 (sqrt.f64 (neg.f64 F))) (sqrt.f64 C)))) | |
| 57.4b | (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (*.f64 (+.f64 A C) (+.f64 A C)) (*.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))))) (*.f64 (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)) (sqrt.f64 (+.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) | |
| 44.1b | (neg.f64 (*.f64 (/.f64 (sqrt.f64 (sqrt.f64 (neg.f64 F))) (fabs.f64 (cbrt.f64 C))) (/.f64 (sqrt.f64 (sqrt.f64 (neg.f64 F))) (sqrt.f64 (cbrt.f64 C))))) | |
| 51.1b | (/.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 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 51.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) (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 44.2b | (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (neg.f64 F))) (cbrt.f64 (sqrt.f64 (neg.f64 F)))) (/.f64 (cbrt.f64 (sqrt.f64 (neg.f64 F))) (sqrt.f64 C)))) | |
| 60.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) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 4) (pow.f64 B 4))) (sqrt.f64 (-.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 44.2b | (neg.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (neg.f64 F))) (cbrt.f64 (sqrt.f64 (neg.f64 F)))) (fabs.f64 (cbrt.f64 C))) (/.f64 (cbrt.f64 (sqrt.f64 (neg.f64 F))) (sqrt.f64 (cbrt.f64 C))))) | |
| 51.9b | (/.f64 (neg.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) | |
| 56.7b | (cbrt.f64 (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 F (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4)))) (-.f64 (+.f64 C A) (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))))))) (-.f64 (*.f64 B B) (*.f64 (*.f64 C A) 4))) 3)) | |
| 53.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) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (*.f64 B B) (pow.f64 (-.f64 A C) 2))) 3)))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C))) |
Compiled 1524 to 863 computations (43.4% saved)
Total 4.1b remaining (13.2%)
Threshold costs 0b (0%)
Compiled 75024 to 52859 computations (29.5% saved)
Compiled 44 to 32 computations (27.3% saved)
| 1× | egg-herbie |
| 150× | distribute-rgt-neg-in_binary64 |
| 109× | distribute-lft-neg-in_binary64 |
| 107× | cancel-sign-sub-inv_binary64 |
| 100× | neg-sub0_binary64 |
| 99× | neg-mul-1_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 430 |
| 1 | 146 | 427 |
| 2 | 222 | 427 |
| 3 | 291 | 427 |
| 4 | 334 | 427 |
| 5 | 360 | 427 |
| 6 | 390 | 427 |
| 7 | 420 | 427 |
| 8 | 439 | 427 |
| 9 | 457 | 427 |
| 10 | 481 | 427 |
| 11 | 514 | 427 |
| 12 | 547 | 427 |
| 13 | 591 | 427 |
| 14 | 631 | 427 |
| 15 | 692 | 427 |
| 16 | 749 | 427 |
| 17 | 781 | 427 |
| 18 | 807 | 427 |
| 19 | 818 | 427 |
| 20 | 820 | 427 |
| 21 | 807 | 427 |
Compiled 834 to 567 computations (32% saved)
| 1× | intervals |
| 783.0ms | 5475× | body | 128 | valid |
| 506.0ms | 666× | body | 2048 | valid |
| 505.0ms | 863× | body | 1024 | valid |
| 443.0ms | 776× | body | 1024 | nan |
| 432.0ms | 566× | body | 2048 | nan |
| 343.0ms | 2445× | body | 128 | nan |
| 262.0ms | 637× | body | 512 | valid |
| 240.0ms | 583× | body | 512 | nan |
| 107.0ms | 356× | body | 256 | nan |
| 98.0ms | 358× | body | 256 | valid |
| 1.0ms | 1× | body | 4096 | valid |
Compiled 1352 to 933 computations (31% saved)
Loading profile data...