
Time bar (total: 2.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 2 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 3 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 4 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 5 |
| 18.7% | 0% | 0% | 100% | 0% | 0% | 0% | 6 |
| 28.1% | 0% | 0% | 100% | 0% | 0% | 0% | 7 |
| 32.8% | 0% | 0% | 100% | 0% | 0% | 0% | 8 |
| 49.2% | 0% | 0% | 100% | 0% | 0% | 0% | 9 |
| 57.4% | 0% | 0% | 100% | 0% | 0% | 0% | 10 |
| 61.5% | 0% | 0% | 100% | 0% | 0% | 0% | 11 |
| 71.8% | 0% | 0% | 100% | 0% | 0% | 0% | 12 |
Compiled 37 to 24 computations (35.1% saved)
| 1.2s | 8 256× | 0 | valid |
| 1.0ms | 5× | 0 | invalid |
const: 271.0ms (27.5% of total)ival-log: 146.0ms (14.8% of total)ival-cosu: 126.0ms (12.8% of total)ival-<=: 101.0ms (10.3% of total)ival-sqrt: 86.0ms (8.7% of total)ival-mult: 64.0ms (6.5% of total)ival-sub: 62.0ms (6.3% of total)ival-neg: 61.0ms (6.2% of total)ival-and: 35.0ms (3.6% of total)ival->: 26.0ms (2.6% of total)exact: 5.0ms (0.5% of total)ival-assert: 3.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 215 | 3 | (0.999937117099762 0.0040289731696248055 0.5786119699478149) | 5 | (0.9999041557312012 0.014492074027657509 3.7125838514562304e-10) | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 1 | 0 | - | 0 | - | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 0 | 0 | - | 0 | - | (-.f32 #s(literal 1 binary32) u1) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 0 | 0 | - | 0 | - | u2 |
| 0 | 0 | - | 0 | - | (PI.f32) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 0 | 0 | - | 0 | - | u1 |
| 0 | 0 | - | 0 | - | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 0 | 0 | - | 0 | - | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 2 binary32) (PI.f32)) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
log.f32 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | sensitivity | 213 | 14 |
cos.f32 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | sensitivity | 1 | 1 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 202 | 0 |
| - | 11 | 43 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 202 | 0 | 0 |
| - | 11 | 14 | 29 |
| number | freq |
|---|---|
| 0 | 43 |
| 1 | 212 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 60.0ms | 512× | 0 | valid |
Compiled 167 to 60 computations (64.1% saved)
ival-mult: 9.0ms (22.6% of total)ival-cosu: 8.0ms (20.1% of total)ival-log: 8.0ms (20.1% of total)ival-pi: 5.0ms (12.5% of total)ival-sub: 3.0ms (7.5% of total)ival-sqrt: 3.0ms (7.5% of total)ival-neg: 2.0ms (5% of total)exact: 1.0ms (2.5% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| Outputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
Compiled 13 to 14 computations (-7.7% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 55.3% | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
Compiled 13 to 14 computations (-7.7% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) | |
| cost-diff | 0 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| cost-diff | 0 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| Inputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
| Outputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.1015625 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| accuracy | 0.1328125 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 14.892545953360695 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 30.0ms | 256× | 0 | valid |
Compiled 102 to 30 computations (70.6% saved)
ival-mult: 4.0ms (22.8% of total)ival-cosu: 4.0ms (22.8% of total)ival-log: 4.0ms (22.8% of total)ival-sqrt: 2.0ms (11.4% of total)ival-pi: 1.0ms (5.7% of total)ival-sub: 1.0ms (5.7% of total)ival-neg: 1.0ms (5.7% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 43.0ms | u2 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2)) |
| 7.0ms | u2 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2)) |
| 3.0ms | u2 | @ | 0 | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2)) |
| 3.0ms | u1 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2)) |
| 3.0ms | u1 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| Inputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| Outputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
Compiled 168 to 31 computations (81.5% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 6 | 4 | 10 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 6 | 5 | 11 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 55.3% | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ▶ | 19.7% | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ▶ | 47.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
| ▶ | 17.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| ▶ | 4.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
Compiled 89 to 86 computations (3.4% saved)
| 1× | egg-herbie |
Found 15 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| cost-diff | 0 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| cost-diff | 0 | #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| cost-diff | 0 | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| cost-diff | 0 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) | |
| cost-diff | 0 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) u1) | |
| cost-diff | 0 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) u1) | |
| cost-diff | 0 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
Found 15 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.09929774773183064 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| accuracy | 0.1328125 | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 25.69412062914357 | #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| accuracy | 0.0 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) | |
| accuracy | 0.1015625 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| accuracy | 7.890312505906131 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) | |
| accuracy | 14.892545953360695 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| accuracy | 0.0 | (-.f32 #s(literal 1 binary32) u1) | |
| accuracy | 0.0 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) | |
| accuracy | 14.892545953360695 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| accuracy | 25.78621569086136 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) | |
| accuracy | 0.0 | (-.f32 #s(literal 1 binary32) u1) | |
| accuracy | 14.892545953360695 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) | |
| accuracy | 30.671852405811183 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 35.0ms | 256× | 0 | valid |
Compiled 268 to 45 computations (83.2% saved)
ival-log: 11.0ms (44.2% of total)ival-mult: 4.0ms (16.1% of total)ival-cosu: 4.0ms (16.1% of total)ival-sqrt: 2.0ms (8% of total)ival-pi: 1.0ms (4% of total)ival-sub: 1.0ms (4% of total)ival-neg: 1.0ms (4% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
1 |
(+ 1 (* -1 u1)) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* u1 (- (/ 1 u1) 1)) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2)))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4)))))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
(cos (* 2 (* u2 (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 13.0ms | u2 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2))) |
| 7.0ms | u2 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2))) |
| 1.0ms | u1 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2))) |
| 1.0ms | u1 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2))) |
| 1.0ms | u2 | @ | 0 | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
1 |
(+ 1 (* -1 u1)) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* u1 (- (/ 1 u1) 1)) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2)))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4)))))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
(cos (* 2 (* u2 (PI)))) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(-.f32 #s(literal 1 binary32) u1) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(* -1 u1) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(* u1 (- (* -1/2 u1) 1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
1 |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(+ 1 (* -1 u1)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
u1 |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(* u1 (+ 1 (* 1/2 u1))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
(log.f32 (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
Compiled 1 106 to 78 computations (92.9% saved)
13 alts after pruning (8 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 36 | 8 | 44 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 1 | 1 |
| Total | 36 | 13 | 49 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 55.3% | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ✓ | 19.7% | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ▶ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
| ✓ | 47.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
| ▶ | 18.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
| ▶ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| ✓ | 17.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| ▶ | 17.1% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| 5.0% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) | |
| ✓ | 4.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 4.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| 17.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| ▶ | 19.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
Compiled 473 to 414 computations (12.5% saved)
| 1× | egg-herbie |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| cost-diff | 0 | #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| cost-diff | 0 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) | |
| cost-diff | 0 | #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| cost-diff | 0 | (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| cost-diff | 0 | (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) | |
| cost-diff | 0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| cost-diff | 0 | #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) | |
| cost-diff | 0 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) u1) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| cost-diff | 0 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| cost-diff | 0 | #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.1015625 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 7.890312505906131 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) | |
| accuracy | 26.782463506321015 | #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 14.892545953360695 | (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) | |
| accuracy | 25.78621569086136 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) | |
| accuracy | 25.79077703077055 | #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| accuracy | 0.0 | (PI.f32) | |
| accuracy | 0.1015625 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| accuracy | 7.890312505906131 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) | |
| accuracy | 26.997663555394986 | #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) | |
| accuracy | 0.0 | (-.f32 #s(literal 1 binary32) u1) | |
| accuracy | 25.86651266035534 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) | |
| accuracy | 0.09929774773183064 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 25.78621569086136 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| accuracy | 26.782463506321015 | #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 38.0ms | 256× | 0 | valid |
Compiled 421 to 49 computations (88.4% saved)
ival-mult: 4.0ms (22.4% of total)ival-cosu: 4.0ms (22.4% of total)ival-log: 4.0ms (22.4% of total)ival-sub: 2.0ms (11.2% of total)ival-sqrt: 2.0ms (11.2% of total)ival-pi: 1.0ms (5.6% of total)ival-neg: 1.0ms (5.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(PI.f32) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
1 |
(+ 1 (* -1 u1)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(* u1 (- (/ 1 u1) 1)) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2)))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4)))))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
(cos (* 2 (* u2 (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | u2 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI)) |
| 7.0ms | u2 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI)) |
| 1.0ms | u1 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI)) |
| 1.0ms | u1 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI)) |
| 1.0ms | u2 | @ | 0 | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
1 |
(+ 1 (* -1 u1)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(* u1 (- (/ 1 u1) 1)) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2)))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4)))))) |
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
(cos (* 2 (* u2 (PI)))) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(* u1 (+ 1 (* 1/2 u1))) |
(-.f32 #s(literal 1 binary32) u1) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
1 |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(+ 1 (* -1 u1)) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(* -1 u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(* u1 (- (* -1/2 u1) 1)) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(PI.f32) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(PI.f32) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
(PI.f32) |
Compiled 1 313 to 73 computations (94.4% saved)
17 alts after pruning (7 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 5 | 47 |
| Fresh | 1 | 2 | 3 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 5 | 5 |
| Total | 43 | 17 | 60 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 55.3% | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ✓ | 19.7% | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ✓ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
| ▶ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| ✓ | 47.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
| ▶ | 19.1% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
| ✓ | 18.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
| ▶ | 18.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
| ✓ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| ✓ | 17.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| ✓ | 17.1% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| 5.0% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) | |
| ▶ | 3.7% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
| ✓ | 4.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 4.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| ▶ | 17.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
| ✓ | 19.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
Compiled 540 to 468 computations (13.3% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| cost-diff | 0 | #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) | |
| cost-diff | 0 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) u1) | |
| cost-diff | 0 | #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) | |
| cost-diff | 0 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) | |
| cost-diff | 0 | (PI.f32) | |
| cost-diff | 0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| cost-diff | 0 | #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| cost-diff | 0 | (PI.f32) | |
| cost-diff | 0 | #s(approx (log (- 1 u1)) (PI.f32)) | |
| cost-diff | 0 | (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) | |
| cost-diff | 0 | (PI.f32) | |
| cost-diff | 0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| cost-diff | 0 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| cost-diff | 0 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
u2 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(literal 1 binary32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
#s(literal 2 binary32) |
(PI.f32) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.1015625 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) | |
| accuracy | 7.890312505906131 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) | |
| accuracy | 25.657672622947302 | #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) | |
| accuracy | 26.997663555394986 | #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) | |
| accuracy | 0.0 | (-.f32 #s(literal 1 binary32) u1) | |
| accuracy | 0.1015625 | (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) | |
| accuracy | 7.890312505906131 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) | |
| accuracy | 26.699923788155708 | #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) | |
| accuracy | 0.0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| accuracy | 0.0 | (PI.f32) | |
| accuracy | 24.424111415861407 | #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) | |
| accuracy | 25.86651266035534 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) | |
| accuracy | 0.0 | (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) | |
| accuracy | 0.0 | (PI.f32) | |
| accuracy | 25.78621569086136 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) | |
| accuracy | 30.899234703208855 | #s(approx (log (- 1 u1)) (PI.f32)) | |
| accuracy | 0.0 | (*.f32 #s(literal 2 binary32) (PI.f32)) | |
| accuracy | 0.0 | (PI.f32) | |
| accuracy | 0.27734375 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) | |
| accuracy | 25.864158436051888 | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 39.0ms | 256× | 0 | valid |
Compiled 373 to 50 computations (86.6% saved)
ival-mult: 10.0ms (35.6% of total)ival-sub: 6.0ms (21.4% of total)ival-cosu: 4.0ms (14.2% of total)ival-log: 4.0ms (14.2% of total)ival-sqrt: 2.0ms (7.1% of total)ival-pi: 1.0ms (3.6% of total)ival-neg: 1.0ms (3.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
1 |
(+ 1 (* -1 u1)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* u1 (- (/ 1 u1) 1)) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | u2 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1)))) |
| 7.0ms | u2 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1)))) |
| 1.0ms | u1 | @ | inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1)))) |
| 1.0ms | u1 | @ | -inf | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1)))) |
| 1.0ms | u2 | @ | 0 | ((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1)))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
u1 |
(* u1 (+ 1 (* 1/2 u1))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
(* -1 u1) |
(* u1 (- (* -1/2 u1) 1)) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
1 |
(+ 1 (* -1 u1)) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* -1 (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1))))) |
(+ (log -1) (* -1 (log (/ 1 u1)))) |
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1)) |
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))) |
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1)) |
(* u1 (- (/ 1 u1) 1)) |
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))) |
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))) |
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))) |
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))) |
(log (/ -1 u1)) |
(- (/ 1 u1) (* -1 (log (/ -1 u1)))) |
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1)))) |
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1)))) |
(* -1 (log (/ -1 u1))) |
(- (* -1 (log (/ -1 u1))) (/ 1 u1)) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))) |
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1))) |
(* -1 (* u1 (- 1 (/ 1 u1)))) |
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)) |
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))) |
(* (sqrt (log (- 1 u1))) (sqrt -1)) |
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1)))))))) |
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1)))))))))) |
(* 2 (* u2 (PI))) |
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1)))) |
| Outputs |
|---|
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI))))))))) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI))))))))))) |
(PI.f32) |
u1 |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(* u1 (+ 1 (* 1/2 u1))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1))))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
(* -1 u1) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
(* u1 (- (* -1/2 u1) 1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1)) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1)) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
1 |
(-.f32 #s(literal 1 binary32) u1) |
(+ 1 (* -1 u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(* (sqrt u1) (pow (sqrt -1) 2)) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1)))))))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
(*.f32 #s(literal 2 binary32) (PI.f32)) |
(PI.f32) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32))) |
#s(approx (log (- 1 u1)) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)) |
(-.f32 #s(literal 1 binary32) u1) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))) |
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))) |
Compiled 1 093 to 69 computations (93.7% saved)
18 alts after pruning (4 fresh and 14 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 38 | 2 | 40 |
| Fresh | 0 | 2 | 2 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 10 | 10 |
| Total | 39 | 18 | 57 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 55.3% | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ✓ | 19.7% | (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| ✓ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
| ✓ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| ✓ | 47.4% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
| ✓ | 19.1% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
| ✓ | 18.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
| ✓ | 18.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
| ✓ | 19.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| ✓ | 17.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| ✓ | 17.1% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| 5.0% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) | |
| ✓ | 3.7% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
| 3.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) | |
| ✓ | 4.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 4.2% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) | |
| 18.0% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) | |
| ✓ | 19.8% | #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
Compiled 838 to 408 computations (51.3% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| Outputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
10 calls:
| 9.0ms | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 8.0ms | u2 |
| 6.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 6.0ms | cosTheta_i |
| 6.0ms | u1 |
| Accuracy | Segments | Branch |
|---|---|---|
| 55.3% | 1 | cosTheta_i |
| 55.3% | 1 | u1 |
| 55.3% | 1 | u2 |
| 55.3% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 55.3% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 55.3% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 55.3% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 55.3% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 55.3% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 55.3% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
Compiled 45 to 64 computations (-42.2% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| Outputs |
|---|
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
10 calls:
| 10.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 7.0ms | cosTheta_i |
| 7.0ms | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 6.0ms | (-.f32 #s(literal 1 binary32) u1) |
| 6.0ms | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.4% | 1 | cosTheta_i |
| 50.8% | 2 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 47.4% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 47.4% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 47.4% | 1 | u1 |
| 47.4% | 1 | u2 |
| 47.4% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 47.4% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 47.4% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 47.4% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
Compiled 45 to 64 computations (-42.2% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
4 calls:
| 7.0ms | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 6.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 5.0ms | u2 |
| 5.0ms | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.4% | 1 | u2 |
| 47.4% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 47.4% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 47.4% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
Compiled 25 to 32 computations (-28% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
10 calls:
| 6.0ms | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 6.0ms | u1 |
| 5.0ms | u2 |
| 5.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 5.0ms | cosTheta_i |
| Accuracy | Segments | Branch |
|---|---|---|
| 19.8% | 1 | cosTheta_i |
| 19.8% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 19.8% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 19.8% | 1 | u1 |
| 19.8% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 19.8% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 19.8% | 1 | u2 |
| 19.8% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 19.8% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 19.8% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
Compiled 45 to 64 computations (-42.2% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
10 calls:
| 6.0ms | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 5.0ms | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 4.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 4.0ms | cosTheta_i |
| 4.0ms | (-.f32 #s(literal 1 binary32) u1) |
| Accuracy | Segments | Branch |
|---|---|---|
| 19.2% | 1 | u2 |
| 19.2% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 19.2% | 1 | cosTheta_i |
| 19.2% | 1 | u1 |
| 19.2% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 19.2% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 19.2% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 19.2% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 19.2% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 19.2% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
Compiled 45 to 64 computations (-42.2% saved)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
10 calls:
| 3.0ms | (-.f32 #s(literal 1 binary32) u1) |
| 3.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 2.0ms | cosTheta_i |
| 2.0ms | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 2.0ms | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 19.2% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 19.2% | 1 | u2 |
| 19.2% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 19.2% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 19.2% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 19.2% | 1 | u1 |
| 19.2% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 19.2% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 19.2% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 19.2% | 1 | cosTheta_i |
Compiled 45 to 64 computations (-42.2% saved)
Total -4.7b remaining (-17.9%)
Threshold costs -4.7b (-17.9%)
| Inputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))) |
| Outputs |
|---|
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
10 calls:
| 2.0ms | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 1.0ms | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 1.0ms | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 1.0ms | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
| 1.0ms | (-.f32 #s(literal 1 binary32) u1) |
| Accuracy | Segments | Branch |
|---|---|---|
| 18.0% | 1 | cosTheta_i |
| 18.0% | 1 | u1 |
| 18.0% | 1 | u2 |
| 18.0% | 1 | (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) |
| 18.0% | 1 | (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))) |
| 18.0% | 1 | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2) |
| 18.0% | 1 | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
| 18.0% | 1 | (log.f32 (-.f32 #s(literal 1 binary32) u1)) |
| 18.0% | 1 | (-.f32 #s(literal 1 binary32) u1) |
| 18.0% | 1 | (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
Compiled 45 to 64 computations (-42.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.0 | 9.699256224848796e-6 |
Compiled 16 to 20 computations (-25% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(if (<=.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(literal 0 binary32)) (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
| Outputs |
|---|
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) |
(if (<=.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(literal 0 binary32)) (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1)) |
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32)) |
| 1× | fuel |
Compiled 165 to 36 computations (78.2% saved)
Compiled 356 to 100 computations (71.9% saved)
Loading profile data...