
Time bar (total: 1.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 0 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 1 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 2 |
| 0% | 0% | 50% | 0% | 0% | 50% | 0% | 3 |
| 50% | 25% | 25% | 0% | 0% | 50% | 0% | 4 |
| 75% | 37.5% | 12.5% | 0% | 0% | 50% | 0% | 5 |
| 87.5% | 43.7% | 6.2% | 0% | 0% | 50% | 0% | 6 |
| 93.8% | 46.9% | 3.1% | 0% | 0% | 50% | 0% | 7 |
| 96.9% | 48.4% | 1.6% | 0% | 0% | 50% | 0% | 8 |
| 98.4% | 49.2% | 0.8% | 0% | 0% | 50% | 0% | 9 |
| 99.2% | 49.6% | 0.4% | 0% | 0% | 50% | 0% | 10 |
| 99.6% | 49.8% | 0.2% | 0% | 0% | 50% | 0% | 11 |
| 99.8% | 49.9% | 0.1% | 0% | 0% | 50% | 0% | 12 |
Compiled 21 to 16 computations (23.8% saved)
| 662.0ms | 8 256× | 0 | valid |
| 1.0ms | 10× | 0 | invalid |
ival-mult: 200.0ms (40.8% of total)ival-sqrt: 128.0ms (26.1% of total)ival-sub: 82.0ms (16.7% of total)ival-div: 58.0ms (11.8% of total)exact: 13.0ms (2.7% of total)ival-true: 6.0ms (1.2% of total)ival-assert: 3.0ms (0.6% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 0 | 0 | - | 0 | - | (*.f64 v v) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | #s(literal 3 binary64) |
| 0 | 0 | - | 0 | - | (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
| 0 | 0 | - | 0 | - | (sqrt.f64 #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))) |
| 0 | 0 | - | 0 | - | #s(literal 4 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 3 binary64) (*.f64 v v)) |
| 0 | 0 | - | 0 | - | v |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) (*.f64 v v)) |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 256 |
| number | freq |
|---|---|
| 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 1 |
| 45.0ms | 512× | 0 | valid |
Compiled 236 to 60 computations (74.6% saved)
ival-mult: 11.0ms (37.8% of total)ival-sqrt: 8.0ms (27.5% of total)ival-sub: 5.0ms (17.2% of total)ival-div: 3.0ms (10.3% of total)exact: 1.0ms (3.4% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
Compiled 19 to 14 computations (26.3% saved)
Compiled 0 to 1 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
Compiled 19 to 14 computations (26.3% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sqrt.f64 #s(literal 2 binary64)) | |
| cost-diff | 0 | (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) | |
| cost-diff | 0 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| Inputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))) |
#s(literal 1 binary64) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
#s(literal 3 binary64) |
(*.f64 v v) |
v |
(-.f64 #s(literal 1 binary64) (*.f64 v v)) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))) |
#s(literal 1 binary64) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
#s(literal 3 binary64) |
(*.f64 v v) |
v |
(-.f64 #s(literal 1 binary64) (*.f64 v v)) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.015625 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) | |
| accuracy | 0.015625 | (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) | |
| accuracy | 0.02734375 | (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) | |
| accuracy | 0.13671875 | (*.f64 #s(literal 3 binary64) (*.f64 v v)) |
| 22.0ms | 256× | 0 | valid |
Compiled 144 to 30 computations (79.2% saved)
ival-mult: 5.0ms (36.2% of total)ival-sqrt: 4.0ms (29% of total)ival-div: 2.0ms (14.5% of total)ival-sub: 2.0ms (14.5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Outputs |
|---|
(* 1/4 (sqrt 2)) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* (pow v 2) (+ (* -27/64 (* (pow v 2) (sqrt 2))) (* -9/32 (sqrt 2))))))) |
(* 3 (pow v 2)) |
1 |
(+ 1 (* -3/2 (pow v 2))) |
(+ 1 (* (pow v 2) (- (* -9/8 (pow v 2)) 3/2))) |
(+ 1 (* (pow v 2) (- (* (pow v 2) (- (* -27/16 (pow v 2)) 9/8)) 3/2))) |
(* -1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* 1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* v (sqrt -3)) |
(* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3)))))) |
(* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3))))) |
(* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* 1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2)))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))))) |
(* -1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* -1 (* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))))) |
(* -1 (* v (sqrt -3))) |
(* -1 (* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3))))))) |
(* -1 (* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* -1 (* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3))))))) |
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | v | @ | inf | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (sqrt 2) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 3.0ms | v | @ | -inf | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (sqrt 2) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 2.0ms | v | @ | 0 | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (sqrt 2) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/4 (sqrt 2)) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* (pow v 2) (+ (* -27/64 (* (pow v 2) (sqrt 2))) (* -9/32 (sqrt 2))))))) |
(* 3 (pow v 2)) |
1 |
(+ 1 (* -3/2 (pow v 2))) |
(+ 1 (* (pow v 2) (- (* -9/8 (pow v 2)) 3/2))) |
(+ 1 (* (pow v 2) (- (* (pow v 2) (- (* -27/16 (pow v 2)) 9/8)) 3/2))) |
(* -1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* 1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* v (sqrt -3)) |
(* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3)))))) |
(* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3))))) |
(* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* 1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2)))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))))) |
(* -1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* -1 (* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))))) |
(* -1 (* v (sqrt -3))) |
(* -1 (* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3))))))) |
(* -1 (* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* -1 (* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3))))))) |
| Outputs |
|---|
(* 1/4 (sqrt 2)) |
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(sqrt.f64 #s(literal 2 binary64)) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Inputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
Compiled 285 to 35 computations (87.7% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 3 | 12 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 9 | 4 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| ▶ | 98.7% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
| ▶ | 98.8% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
| ▶ | 17.2% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
Compiled 98 to 76 computations (22.4% saved)
| 1× | egg-herbie |
Found 9 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sqrt.f64 #s(literal 2 binary64)) | |
| cost-diff | 0 | (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) | |
| cost-diff | 0 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) | |
| cost-diff | 0 | (sqrt.f64 #s(literal 2 binary64)) | |
| cost-diff | 0 | (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) | |
| cost-diff | 0 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) | |
| cost-diff | 0 | (sqrt.f64 #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))) |
#s(literal 1 binary64) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
#s(literal 3 binary64) |
(*.f64 v v) |
v |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
| Outputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))) |
#s(literal 1 binary64) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
#s(literal 3 binary64) |
(*.f64 v v) |
v |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(literal 4 binary64) |
Found 9 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) | |
| accuracy | 0.0 | (sqrt.f64 #s(literal 2 binary64)) | |
| accuracy | 0.8210903058222019 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) | |
| accuracy | 0.015625 | (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) | |
| accuracy | 0.02734375 | (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) | |
| accuracy | 0.13671875 | (*.f64 #s(literal 3 binary64) (*.f64 v v)) | |
| accuracy | 0.7615908029959119 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) | |
| accuracy | 0.0 | (sqrt.f64 #s(literal 2 binary64)) | |
| accuracy | 53.00006881652146 | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
| 26.0ms | 256× | 0 | valid |
Compiled 254 to 44 computations (82.7% saved)
ival-mult: 8.0ms (47.9% of total)ival-sqrt: 4.0ms (23.9% of total)ival-div: 2.0ms (12% of total)ival-sub: 2.0ms (12% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Outputs |
|---|
(* 1/4 (sqrt 2)) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* (pow v 2) (+ (* -27/64 (* (pow v 2) (sqrt 2))) (* -9/32 (sqrt 2))))))) |
(* 3 (pow v 2)) |
1 |
(+ 1 (* -3/2 (pow v 2))) |
(+ 1 (* (pow v 2) (- (* -9/8 (pow v 2)) 3/2))) |
(+ 1 (* (pow v 2) (- (* (pow v 2) (- (* -27/16 (pow v 2)) 9/8)) 3/2))) |
(* -1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* 1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* v (sqrt -3)) |
(* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3)))))) |
(* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3))))) |
(* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* 1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2)))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))))) |
(* -1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* -1 (* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))))) |
(* -1 (* v (sqrt -3))) |
(* -1 (* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3))))))) |
(* -1 (* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* -1 (* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3))))))) |
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | v | @ | inf | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt 2) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 1.0ms | v | @ | -inf | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt 2) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 1.0ms | v | @ | 0 | ((* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt 2) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (/ (sqrt 2) 4) (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (* 3 (* v v)) (sqrt (- 1 (* 3 (* v v))))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/4 (sqrt 2)) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* (pow v 2) (+ (* -27/64 (* (pow v 2) (sqrt 2))) (* -9/32 (sqrt 2))))))) |
(* 3 (pow v 2)) |
1 |
(+ 1 (* -3/2 (pow v 2))) |
(+ 1 (* (pow v 2) (- (* -9/8 (pow v 2)) 3/2))) |
(+ 1 (* (pow v 2) (- (* (pow v 2) (- (* -27/16 (pow v 2)) 9/8)) 3/2))) |
(* -1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))) |
(* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* 1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* v (sqrt -3)) |
(* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3)))))) |
(* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3))))) |
(* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* 1/4 (* (pow v 3) (* (sqrt -3) (sqrt 2)))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2)))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4))))))) |
(* -1 (* (pow v 3) (+ (* -1/4 (* (sqrt -3) (sqrt 2))) (+ (* 1/4 (/ (+ (* -1/2 (/ (sqrt 2) (sqrt -3))) (* (sqrt -3) (sqrt 2))) (pow v 2))) (+ (* 1/4 (/ (+ (* -1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* -1/16 (/ (sqrt 2) (pow (sqrt -3) 5)))) (pow v 6))) (* 1/4 (/ (+ (* 1/8 (/ (sqrt 2) (pow (sqrt -3) 3))) (* 1/2 (/ (sqrt 2) (sqrt -3)))) (pow v 4)))))))) |
(* -1/4 (* v (* (sqrt -3) (sqrt 2)))) |
(* -1 (* v (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2))))))) |
(* -1 (* v (+ (* -1/32 (/ (sqrt 2) (* (pow v 4) (pow (sqrt -3) 3)))) (+ (* 1/64 (/ (sqrt 2) (* (pow v 6) (pow (sqrt -3) 5)))) (+ (* 1/8 (/ (sqrt 2) (* (pow v 2) (sqrt -3)))) (* 1/4 (* (sqrt -3) (sqrt 2)))))))) |
(* -1 (* v (sqrt -3))) |
(* -1 (* v (+ (sqrt -3) (* 1/2 (/ 1 (* (pow v 2) (sqrt -3))))))) |
(* -1 (* v (- (+ (sqrt -3) (/ 1/2 (* (pow v 2) (sqrt -3)))) (/ 1/8 (* (pow v 4) (pow (sqrt -3) 3)))))) |
(* -1 (* v (- (+ (sqrt -3) (+ (/ 1/2 (* (pow v 2) (sqrt -3))) (* 1/16 (/ 1 (* (pow v 6) (pow (sqrt -3) 5)))))) (* 1/8 (/ 1 (* (pow v 4) (pow (sqrt -3) 3))))))) |
| Outputs |
|---|
(* 1/4 (sqrt 2)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(+ (* 1/4 (sqrt 2)) (* 1/4 (* (pow v 2) (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))))) |
(sqrt.f64 #s(literal 2 binary64)) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))) (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2))))))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* 1/4 (+ (* -3/2 (sqrt 2)) (* -1 (sqrt 2)))) (* (pow v 2) (+ (* 1/4 (* (pow v 2) (+ (* -27/16 (sqrt 2)) (* 9/8 (sqrt 2))))) (* 1/4 (+ (* -9/8 (sqrt 2)) (* 3/2 (sqrt 2))))))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(+ (* -3/8 (* (pow v 2) (sqrt 2))) (* 1/4 (sqrt 2))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* -9/32 (* (pow v 2) (sqrt 2)))))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(+ (* 1/4 (sqrt 2)) (* (pow v 2) (+ (* -3/8 (sqrt 2)) (* (pow v 2) (+ (* -27/64 (* (pow v 2) (sqrt 2))) (* -9/32 (sqrt 2))))))) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(* 3 (pow v 2)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
| Outputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) |
(/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
(*.f64 #s(literal 3 binary64) (*.f64 v v)) |
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))) |
Compiled 586 to 41 computations (93% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 17 | 0 | 17 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 1 | 1 |
| Total | 17 | 4 | 21 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| ✓ | 98.7% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
| ✓ | 98.8% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
| ✓ | 17.2% | #s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
Compiled 196 to 106 computations (45.9% saved)
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
3 calls:
| 2.0ms | v |
| 2.0ms | (*.f64 v v) |
| 1.0ms | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | v |
| 100.0% | 1 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 100.0% | 1 | (*.f64 v v) |
Compiled 23 to 17 computations (26.1% saved)
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
| Outputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
3 calls:
| 2.0ms | v |
| 1.0ms | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 1.0ms | (*.f64 v v) |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.8% | 1 | v |
| 98.8% | 1 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 98.8% | 1 | (*.f64 v v) |
Compiled 23 to 17 computations (26.1% saved)
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
| Outputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
3 calls:
| 1.0ms | v |
| 1.0ms | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 1.0ms | (*.f64 v v) |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.7% | 1 | v |
| 98.7% | 1 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 98.7% | 1 | (*.f64 v v) |
Compiled 23 to 17 computations (26.1% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
3 calls:
| 1.0ms | v |
| 1.0ms | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 1.0ms | (*.f64 v v) |
| Accuracy | Segments | Branch |
|---|---|---|
| 17.2% | 1 | (*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
| 17.2% | 1 | v |
| 17.2% | 1 | (*.f64 v v) |
Compiled 23 to 17 computations (26.1% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v))))) (-.f64 #s(literal 1 binary64) (*.f64 v v))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (*.f64 v v)))))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) |
#s(approx (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))) (sqrt.f64 #s(literal 2 binary64))) |
| 1× | done |
Compiled 98 to 30 computations (69.4% saved)
Compiled 234 to 88 computations (62.4% saved)
Loading profile data...