
Time bar (total: 1.8s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 25% | 24.9% | 74.8% | 0.2% | 0% | 0% | 0% | 6 |
| 25% | 24.9% | 74.8% | 0.2% | 0% | 0% | 0% | 7 |
| 25% | 24.9% | 74.8% | 0.2% | 0% | 0% | 0% | 8 |
| 37.5% | 37.4% | 62.3% | 0.2% | 0% | 0% | 0% | 9 |
| 40.6% | 40.5% | 59.2% | 0.2% | 0% | 0% | 0% | 10 |
| 51.7% | 48.3% | 45.2% | 0.2% | 0% | 6.2% | 0% | 11 |
| 51.7% | 48.3% | 45.2% | 0.2% | 0% | 6.2% | 0% | 12 |
Compiled 16 to 14 computations (12.5% saved)
| 629.0ms | 8 256× | 0 | valid |
| 181.0ms | 2 027× | 0 | invalid |
ival-mult: 290.0ms (59.6% of total)ival-sqrt: 74.0ms (15.2% of total)ival-div: 58.0ms (11.9% of total)ival-sub: 53.0ms (10.9% of total)ival-true: 8.0ms (1.6% of total)ival-assert: 4.0ms (0.8% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 92 | 0 | - | 2 | (3.85253089134987e-197 9.408310036484551e-184 3.361568481672157e-156 -4.7593969423640595e-210 4.441011332367931e-108) | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
| 23 | 0 | - | 0 | - | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 17 | 0 | - | 4 | (-2.236683624484536e-242 2.560662240785728e-72 -4.08961271973346e+128 -2.6013719831148052e+182 1.194815450690642e-126) | (*.f64 (*.f64 x y) z) |
| 4 | 0 | - | 0 | - | (-.f64 (*.f64 z z) (*.f64 t a)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | t |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 x y) |
| 0 | 0 | - | 0 | - | (*.f64 z z) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (*.f64 t a) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) | oflow-rescue | 87 | 0 |
| ↳ | (-.f64 (*.f64 z z) (*.f64 t a)) | overflow | 87 | |
| ↳ | (*.f64 t a) | overflow | 24 | |
| ↳ | (*.f64 z z) | overflow | 73 | |
/.f64 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) | o/n | 19 | 0 |
| ↳ | (*.f64 x y) | overflow | 37 | |
| ↳ | (*.f64 (*.f64 x y) z) | overflow | 46 | |
*.f64 | (*.f64 (*.f64 x y) z) | n*o | 9 | 0 |
/.f64 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) | u/n | 4 | 0 |
| ↳ | (*.f64 x y) | underflow | 25 | |
| ↳ | (*.f64 (*.f64 x y) z) | underflow | 35 | |
*.f64 | (*.f64 (*.f64 x y) z) | n*u | 4 | 0 |
-.f64 | (-.f64 (*.f64 z z) (*.f64 t a)) | nan-rescue | 4 | 0 |
| ↳ | (*.f64 z z) | overflow | 73 | |
| ↳ | (*.f64 t a) | overflow | 24 | |
sqrt.f64 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) | uflow-rescue | 3 | 0 |
| ↳ | (-.f64 (*.f64 z z) (*.f64 t a)) | underflow | 3 | |
| ↳ | (*.f64 t a) | underflow | 38 | |
| ↳ | (*.f64 z z) | underflow | 39 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 91 | 0 |
| - | 13 | 152 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 91 | 0 | 0 |
| - | 13 | 0 | 152 |
| number | freq |
|---|---|
| 0 | 152 |
| 1 | 78 |
| 2 | 26 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 43.0ms | 512× | 0 | valid |
Compiled 162 to 52 computations (67.9% saved)
ival-mult: 14.0ms (60.1% of total)ival-sqrt: 4.0ms (17.2% of total)ival-div: 3.0ms (12.9% of total)ival-sub: 2.0ms (8.6% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| Outputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
Compiled 14 to 12 computations (14.3% saved)
Compiled 0 to 5 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 66.1% | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
Compiled 14 to 12 computations (14.3% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | (*.f64 (*.f64 x y) z) | |
| cost-diff | 0 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| Inputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(*.f64 (*.f64 x y) z) |
(*.f64 x y) |
x |
y |
z |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
(*.f64 t a) |
t |
a |
| Outputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(*.f64 (*.f64 x y) z) |
(*.f64 x y) |
x |
y |
z |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
(*.f64 t a) |
t |
a |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.8164062500000001 | (-.f64 (*.f64 z z) (*.f64 t a)) | |
| accuracy | 3.837402114557394 | (*.f64 (*.f64 x y) z) | |
| accuracy | 5.519189266487737 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) | |
| accuracy | 21.263821198424676 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
| 24.0ms | 256× | 0 | valid |
Compiled 98 to 26 computations (73.5% saved)
ival-mult: 6.0ms (55.3% of total)ival-sqrt: 2.0ms (18.4% of total)ival-sub: 1.0ms (9.2% of total)ival-div: 1.0ms (9.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(*.f64 (*.f64 x y) z) |
(*.f64 x y) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* x (* y z)) |
(* x y) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(* -1 (* a t)) |
(- (pow z 2) (* a t)) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(pow z 2) |
(* (pow z 2) (+ 1 (* -1 (/ (* a t) (pow z 2))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(+ (* -1 (* a t)) (pow z 2)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* t (- (/ (pow z 2) t) a)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(* -1 (* t (- (* -1 (/ (pow z 2) t)) (* -1 a)))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* a (- (/ (pow z 2) a) t)) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
(* -1 (* a (- (* -1 (/ (pow z 2) a)) (* -1 t)))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | t | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* (* x y) z) (* x y) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a))) |
| 5.0ms | z | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* (* x y) z) (* x y) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a))) |
| 4.0ms | a | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* (* x y) z) (* x y) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a))) |
| 3.0ms | y | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* (* x y) z) (* x y) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a))) |
| 3.0ms | t | @ | inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* (* x y) z) (* x y) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* x (* y z)) |
(* x y) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(* -1 (* a t)) |
(- (pow z 2) (* a t)) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(pow z 2) |
(* (pow z 2) (+ 1 (* -1 (/ (* a t) (pow z 2))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(+ (* -1 (* a t)) (pow z 2)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* t (- (/ (pow z 2) t) a)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(* -1 (* t (- (* -1 (/ (pow z 2) t)) (* -1 a)))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* a (- (/ (pow z 2) a) t)) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
(* -1 (* a (- (* -1 (/ (pow z 2) a)) (* -1 t)))) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(* x (* y z)) |
(*.f64 (*.f64 x y) z) |
(* x y) |
(*.f64 x y) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
| Inputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(*.f64 (*.f64 x y) z) |
(*.f64 x y) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
| Outputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(*.f64 (*.f64 x y) z) |
(*.f64 x y) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
Compiled 182 to 27 computations (85.2% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 8 | 2 | 10 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 8 | 3 | 11 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 66.1% | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| ▶ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
| ▶ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
Compiled 59 to 45 computations (23.7% saved)
| 1× | egg-herbie |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 t a) | |
| cost-diff | 0 | (*.f64 z z) | |
| cost-diff | 0 | (-.f64 (*.f64 z z) (*.f64 t a)) | |
| cost-diff | 0 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) | |
| cost-diff | 0 | (*.f64 z z) | |
| cost-diff | 0 | (-.f64 (*.f64 z z) (*.f64 t a)) | |
| cost-diff | 0 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) | |
| cost-diff | 0 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
z |
(*.f64 t a) |
t |
a |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
z |
(*.f64 t a) |
t |
a |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
z |
(*.f64 t a) |
t |
a |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
z |
(*.f64 t a) |
t |
a |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 z z) | |
| accuracy | 0.0 | (*.f64 t a) | |
| accuracy | 0.8164062500000001 | (-.f64 (*.f64 z z) (*.f64 t a)) | |
| accuracy | 61.41213197800175 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) | |
| accuracy | 0.0 | (*.f64 t a) | |
| accuracy | 0.8164062500000001 | (-.f64 (*.f64 z z) (*.f64 t a)) | |
| accuracy | 21.263821198424676 | (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) | |
| accuracy | 62.051401592128016 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 24.0ms | 256× | 0 | valid |
Compiled 155 to 32 computations (79.4% saved)
ival-mult: 8.0ms (62.8% of total)ival-sqrt: 2.0ms (15.7% of total)ival-sub: 1.0ms (7.8% of total)ival-div: 1.0ms (7.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(*.f64 t a) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(* -1 (* a t)) |
(- (pow z 2) (* a t)) |
(pow z 2) |
(* x y) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(* (pow z 2) (+ 1 (* -1 (/ (* a t) (pow z 2))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(+ (* -1 (* a t)) (pow z 2)) |
(* a t) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* t (- (/ (pow z 2) t) a)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(* -1 (* t (- (* -1 (/ (pow z 2) t)) (* -1 a)))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* a (- (/ (pow z 2) a) t)) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
(* -1 (* a (- (* -1 (/ (pow z 2) a)) (* -1 t)))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 8.0ms | x | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a)) (* z z) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* t a)) |
| 1.0ms | y | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a)) (* z z) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* t a)) |
| 1.0ms | x | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a)) (* z z) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* t a)) |
| 1.0ms | y | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a)) (* z z) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* t a)) |
| 1.0ms | x | @ | inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (- (* z z) (* t a)) (* z z) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* t a)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(* -1 (* a t)) |
(- (pow z 2) (* a t)) |
(pow z 2) |
(* x y) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(* (pow z 2) (+ 1 (* -1 (/ (* a t) (pow z 2))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(+ (* -1 (* a t)) (pow z 2)) |
(* a t) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* t (- (/ (pow z 2) t) a)) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(* -1 (* t (- (* -1 (/ (pow z 2) t)) (* -1 a)))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* a (- (/ (pow z 2) a) t)) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
(* -1 (* a (- (* -1 (/ (pow z 2) a)) (* -1 t)))) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(*.f64 z z) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(* (sqrt (* a t)) (sqrt -1)) |
(*.f64 t a) |
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(*.f64 t a) |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) |
(-.f64 (*.f64 z z) (*.f64 t a)) |
(*.f64 z z) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
(*.f64 t a) |
Compiled 323 to 23 computations (92.9% saved)
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 11 | 2 | 13 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 1 | 1 |
| Total | 11 | 5 | 16 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 66.1% | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| ✓ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
| ▶ | 10.3% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
| ✓ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| ▶ | 5.0% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
Compiled 104 to 74 computations (28.8% saved)
| 1× | egg-herbie |
Found 5 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 z z) | |
| cost-diff | 0 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) | |
| cost-diff | 0 | (*.f64 t a) | |
| cost-diff | 0 | #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) | |
| cost-diff | 0 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(*.f64 t a) |
t |
a |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(*.f64 z z) |
z |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(*.f64 t a) |
t |
a |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(*.f64 z z) |
z |
Found 5 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 z z) | |
| accuracy | 57.38762883617415 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) | |
| accuracy | 0.0 | (*.f64 t a) | |
| accuracy | 62.051401592128016 | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) | |
| accuracy | 62.4580509561702 | #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
| 22.0ms | 256× | 0 | valid |
Compiled 113 to 31 computations (72.6% saved)
ival-mult: 6.0ms (55% of total)ival-sqrt: 2.0ms (18.3% of total)ival-sub: 1.0ms (9.2% of total)ival-div: 1.0ms (9.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(*.f64 t a) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(*.f64 z z) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(pow z 2) |
(* x y) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(* a t) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (* t a) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* z z)) |
| 1.0ms | y | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (* t a) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* z z)) |
| 1.0ms | x | @ | -inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (* t a) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* z z)) |
| 1.0ms | y | @ | 0 | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (* t a) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* z z)) |
| 1.0ms | x | @ | inf | ((/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt (- (* z z) (* t a))) (* t a) (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (* z z)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(* (sqrt (* a t)) (sqrt -1)) |
(+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (* a t)) (sqrt -1))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (pow z 2) (pow (sqrt -1) 3)))) (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1))))))) |
(+ (* (sqrt (* a t)) (sqrt -1)) (* (pow z 2) (+ (* 1/2 (* (sqrt (/ 1 (* a t))) (/ 1 (sqrt -1)))) (* (pow z 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ 1 (pow (sqrt -1) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (pow z 2) (pow (sqrt -1) 5))))))))) |
(pow z 2) |
(* x y) |
(+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y))) |
(+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (+ (* -1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6))) (+ (* 1/2 (/ (* a (* t (* x y))) (pow z 2))) (* x y)))) |
z |
(* z (+ 1 (* -1/2 (/ (* a t) (pow z 2))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4)))))) |
(* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6))))))) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* -1/2 (/ (* a (* t (* x y))) (pow z 2)))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))))) |
(+ (* -1 (* x y)) (+ (* -1/2 (/ (* a (* t (* x y))) (pow z 2))) (+ (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))) (pow z 4))) (* 1/2 (/ (* x (* y (+ (* -1 (* (pow a 3) (pow t 3))) (* -1/2 (* a (* t (+ (* -1 (* (pow a 2) (pow t 2))) (* 1/4 (* (pow a 2) (pow t 2)))))))))) (pow z 6)))))) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1/2 (/ (* a t) (pow z 2)))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))))))) |
(* -1 (* z (+ 1 (+ (* -1/2 (/ (* a t) (pow z 2))) (+ (* -1/8 (/ (* (pow a 2) (pow t 2)) (pow z 4))) (* -1/16 (/ (* (pow a 3) (pow t 3)) (pow z 6)))))))) |
(+ (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))))))) (* 1/2 (/ (* a (* x y)) (pow z 2))))) (* x y)) |
(+ (* t (+ (* 1/2 (/ (* a (* x y)) (pow z 2))) (* t (+ (* -1/2 (* t (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 3) (pow z 8))) (* -1/2 (/ (* a (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow a 2) (pow z 6))) (* 1/4 (/ (pow a 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* -1/2 (/ (* a t) z))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* -1/8 (/ (* (pow a 2) t) (pow z 3)))))) |
(+ z (* t (+ (* -1/2 (/ a z)) (* t (+ (* -1/8 (/ (pow a 2) (pow z 3))) (* -1/16 (/ (* (pow a 3) t) (pow z 5)))))))) |
(* a t) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ a (pow t 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* t (pow z 4)) (* (pow a 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow a 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a t)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* t (pow z 4)) (pow a 3))) (/ (pow z 6) (pow a 4))))))))) (* 1/2 (* (sqrt (/ t (pow a 5))) (* x (* y (* (pow z 5) (sqrt -1))))))) (pow t 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* (sqrt (* a t)) (sqrt -1))) |
(* -1 (* t (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1)))))) |
(* -1 (* t (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow t 5)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow t 7)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow t 3)))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ a t)) (sqrt -1))))))) |
(+ (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))))))) (* 1/2 (/ (* t (* x y)) (pow z 2))))) (* x y)) |
(+ (* a (+ (* 1/2 (/ (* t (* x y)) (pow z 2))) (* a (+ (* -1/2 (* a (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 3) (pow z 8))) (* -1/2 (/ (* t (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6))))) (pow z 2))))))))) (* -1/2 (* x (* y (* (pow z 2) (+ (* -1 (/ (pow t 2) (pow z 6))) (* 1/4 (/ (pow t 2) (pow z 6)))))))))))) (* x y)) |
(+ z (* a (+ (* -1/2 (/ t z)) (* -1/8 (/ (* a (pow t 2)) (pow z 3)))))) |
(+ z (* a (+ (* -1/2 (/ t z)) (* a (+ (* -1/8 (/ (pow t 2) (pow z 3))) (* -1/16 (/ (* a (pow t 3)) (pow z 5)))))))) |
(+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 3))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 5) (pow t 5)))) (/ (* x (* y (pow z 5))) (sqrt -1)))) (+ (* -1/2 (* (sqrt (/ t (pow a 7))) (/ (* x (* y (* z (+ (* 1/4 (/ (* a (pow z 4)) (* (pow t 3) (pow (sqrt -1) 2)))) (/ (pow z 6) (pow t 4)))))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1)))))))) |
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (/ (pow z 4) (pow (sqrt -1) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (/ (pow z 6) (pow (sqrt -1) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (/ (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(+ (* -1 (/ (+ (* 1/2 (* (sqrt (/ a (pow t 5))) (* x (* y (* (pow z 5) (sqrt -1)))))) (* 1/2 (* (sqrt (/ t a)) (* x (* y (* z (* (sqrt -1) (+ (* -1/4 (/ (* a (pow z 4)) (pow t 3))) (/ (pow z 6) (pow t 4)))))))))) (pow a 3))) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (* x (* y (* (pow z 3) (sqrt -1)))))) (* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))))) |
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1)))))) |
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow t 3)))) (* (pow z 4) (sqrt -1)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow t 5)))) (* (pow z 6) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) t))) (* (pow z 2) (sqrt -1)))) (* (sqrt (/ t a)) (sqrt -1))))))) |
| Outputs |
|---|
(* (* x (* y z)) (sqrt (/ 1 (- (pow z 2) (* a t))))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
(* (sqrt (/ 1 (* a t))) (* x (* y (* z (sqrt -1))))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(* z (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x (* y (pow z 2))) (sqrt -1)))) (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))))) |
(*.f64 t a) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3))))))) (sqrt -1)))) (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))))))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(* z (+ (* (sqrt (/ 1 (* a t))) (* x (* y (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (/ 1 (* (pow a 3) (pow t 3)))) (/ (* x y) (sqrt -1)))) (* (pow z 2) (+ (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (* (pow z 2) (+ (* 1/2 (/ (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))) (* a (* t (pow (sqrt -1) 2))))) (/ 1 (* (pow a 4) (pow t 4))))))) (sqrt -1)))) (* -1/2 (* (sqrt (* a t)) (/ (* x (* y (+ (* 1/4 (/ 1 (* (pow a 3) (* (pow t 3) (pow (sqrt -1) 2))))) (/ 1 (* (pow a 3) (pow t 3)))))) (sqrt -1)))))))))) |
(*.f64 z z) |
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(*.f64 t a) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(*.f64 z z) |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a)) |
(*.f64 t a) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
(*.f64 z z) |
Compiled 210 to 20 computations (90.5% saved)
5 alts after pruning (0 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 8 | 0 | 8 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 3 | 3 |
| Total | 8 | 5 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 66.1% | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| ✓ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
| ✓ | 10.3% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
| ✓ | 3.6% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| ✓ | 5.0% | #s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
Compiled 208 to 98 computations (52.9% saved)
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| Outputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
8 calls:
| 6.0ms | y |
| 2.0ms | x |
| 2.0ms | t |
| 2.0ms | a |
| 2.0ms | (*.f64 t a) |
| Accuracy | Segments | Branch |
|---|---|---|
| 66.1% | 1 | x |
| 66.1% | 1 | y |
| 66.1% | 1 | z |
| 66.1% | 1 | t |
| 66.1% | 1 | a |
| 66.1% | 1 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 66.1% | 1 | (*.f64 x y) |
| 66.1% | 1 | (*.f64 t a) |
Compiled 25 to 49 computations (-96% saved)
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (-.f64 (*.f64 z z) (*.f64 t a))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
8 calls:
| 4.0ms | (*.f64 x y) |
| 2.0ms | x |
| 2.0ms | y |
| 2.0ms | z |
| 2.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 10.3% | 1 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 10.3% | 1 | (*.f64 x y) |
| 10.3% | 1 | x |
| 10.3% | 1 | y |
| 10.3% | 1 | z |
| 10.3% | 1 | t |
| 10.3% | 1 | (*.f64 t a) |
| 10.3% | 1 | a |
Compiled 25 to 49 computations (-96% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
| Outputs |
|---|
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
8 calls:
| 1.0ms | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 1.0ms | y |
| 1.0ms | z |
| 1.0ms | x |
| 1.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.0% | 1 | z |
| 5.0% | 1 | (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
| 5.0% | 1 | (*.f64 x y) |
| 5.0% | 1 | a |
| 5.0% | 1 | t |
| 5.0% | 1 | x |
| 5.0% | 1 | y |
| 5.0% | 1 | (*.f64 t a) |
Compiled 25 to 49 computations (-96% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
| Outputs |
|---|
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) (*.f64 z z)) |
#s(approx (/ (* (* x y) z) (sqrt (- (* z z) (* t a)))) #s(approx (sqrt (- (* z z) (* t a))) (*.f64 t a))) |
| 1× | done |
Compiled 59 to 22 computations (62.7% saved)
Compiled 204 to 108 computations (47.1% saved)
Loading profile data...