
Time bar (total: 4.1s)
| 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 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 6 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 7 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 8 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 9 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 10 |
| 50% | 0% | 0% | 100% | 0% | 0% | 0% | 11 |
| 50% | 0% | 0% | 100% | 0% | 0% | 0% | 12 |
Compiled 62 to 42 computations (32.3% saved)
| 2.2s | 8 256× | 0 | valid |
const: 508.0ms (32% of total)ival-mult: 299.0ms (18.9% of total)ival-div: 255.0ms (16.1% of total)ival-<=: 238.0ms (15% of total)ival-exp: 86.0ms (5.4% of total)ival-sinh: 68.0ms (4.3% of total)ival-and: 53.0ms (3.3% of total)ival-neg: 38.0ms (2.4% of total)ival-<: 20.0ms (1.3% of total)exact: 17.0ms (1.1% of total)ival-assert: 4.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) v) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
| 0 | 0 | - | 0 | - | sinTheta_i |
| 0 | 0 | - | 0 | - | cosTheta_i |
| 0 | 0 | - | 0 | - | v |
| 0 | 0 | - | 0 | - | (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
| 0 | 0 | - | 0 | - | sinTheta_O |
| 0 | 0 | - | 0 | - | (*.f32 sinTheta_i sinTheta_O) |
| 0 | 0 | - | 0 | - | (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 0 | 0 | - | 0 | - | (*.f32 cosTheta_i cosTheta_O) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
| 0 | 0 | - | 0 | - | (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
| 0 | 0 | - | 0 | - | cosTheta_O |
| 0 | 0 | - | 0 | - | (sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
| 0 | 0 | - | 0 | - | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 0 | 4 | (6.103964633952718e-15 -4.888106354292702e-32 1.8661138073646618e-21 0.07007589936256409 0.3739693760871887) | 0 | - | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f32 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | u/n | 4 | 0 |
| ↳ | (*.f32 cosTheta_i cosTheta_O) | underflow | 80 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 4 | 252 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 4 | 0 | 252 |
| number | freq |
|---|---|
| 0 | 252 |
| 1 | 4 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 1 | 0 | 0 |
| 74.0ms | 512× | 0 | valid |
Compiled 302 to 80 computations (73.5% saved)
ival-mult: 21.0ms (39.8% of total)ival-div: 14.0ms (26.6% of total)ival-neg: 8.0ms (15.2% of total)ival-exp: 4.0ms (7.6% of total)ival-sinh: 4.0ms (7.6% of total)ival-true: 1.0ms (1.9% of total)exact: 1.0ms (1.9% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| Outputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
Compiled 22 to 19 computations (13.6% saved)
Compiled 0 to 5 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 98.7% | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
Compiled 22 to 19 computations (13.6% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| cost-diff | 0 | (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) | |
| cost-diff | 0 | (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) | |
| cost-diff | 0 | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| Inputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
#s(literal 2 binary32) |
| Outputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
#s(literal 2 binary32) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.23570253907376804 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| accuracy | 0.26953125 | (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) | |
| accuracy | 0.2772801023150756 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | |
| accuracy | 0.7644642031730291 | (sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
| 31.0ms | 256× | 0 | valid |
Compiled 186 to 40 computations (78.5% saved)
ival-mult: 8.0ms (40% of total)ival-div: 7.0ms (35% of total)ival-exp: 2.0ms (10% of total)ival-sinh: 2.0ms (10% of total)ival-neg: 1.0ms (5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
1 |
(+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) |
(+ 1 (* sinTheta_i (+ (* -1 (/ sinTheta_O v)) (* 1/2 (/ (* (pow sinTheta_O 2) sinTheta_i) (pow v 2)))))) |
(+ 1 (* sinTheta_i (+ (* -1 (/ sinTheta_O v)) (* sinTheta_i (+ (* -1/6 (/ (* (pow sinTheta_O 3) sinTheta_i) (pow v 3))) (* 1/2 (/ (pow sinTheta_O 2) (pow v 2)))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(exp (neg (/ (* sinTheta_O sinTheta_i) v))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ 1 (* sinTheta_O (+ (* -1 (/ sinTheta_i v)) (* 1/2 (/ (* sinTheta_O (pow sinTheta_i 2)) (pow v 2)))))) |
(+ 1 (* sinTheta_O (+ (* -1 (/ sinTheta_i v)) (* sinTheta_O (+ (* -1/6 (/ (* sinTheta_O (pow sinTheta_i 3)) (pow v 3))) (* 1/2 (/ (pow sinTheta_i 2) (pow v 2)))))))) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(+ 1 (+ (* -1 (/ (* sinTheta_O sinTheta_i) v)) (* 1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) (pow v 2))))) |
(+ 1 (+ (* -1 (/ (* sinTheta_O sinTheta_i) v)) (+ (* -1/6 (/ (* (pow sinTheta_O 3) (pow sinTheta_i 3)) (pow v 3))) (* 1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) (pow v 2)))))) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(+ 1 (* -1 (/ (+ (* -1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) v)) (* sinTheta_O sinTheta_i)) v))) |
(+ 1 (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (* (pow sinTheta_O 3) (pow sinTheta_i 3)) v)) (* 1/2 (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v)) (* sinTheta_O sinTheta_i)) v))) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | v | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (neg (/ (* sinTheta_i sinTheta_O) v)) (sinh (/ 1 v)) (/ (* cosTheta_i cosTheta_O) v) (* (* (sinh (/ 1 v)) 2) v) (/ (* sinTheta_i sinTheta_O) v)) |
| 10.0ms | cosTheta_O | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (neg (/ (* sinTheta_i sinTheta_O) v)) (sinh (/ 1 v)) (/ (* cosTheta_i cosTheta_O) v) (* (* (sinh (/ 1 v)) 2) v) (/ (* sinTheta_i sinTheta_O) v)) |
| 6.0ms | cosTheta_i | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (neg (/ (* sinTheta_i sinTheta_O) v)) (sinh (/ 1 v)) (/ (* cosTheta_i cosTheta_O) v) (* (* (sinh (/ 1 v)) 2) v) (/ (* sinTheta_i sinTheta_O) v)) |
| 6.0ms | sinTheta_O | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (neg (/ (* sinTheta_i sinTheta_O) v)) (sinh (/ 1 v)) (/ (* cosTheta_i cosTheta_O) v) (* (* (sinh (/ 1 v)) 2) v) (/ (* sinTheta_i sinTheta_O) v)) |
| 5.0ms | cosTheta_O | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (neg (/ (* sinTheta_i sinTheta_O) v)) (sinh (/ 1 v)) (/ (* cosTheta_i cosTheta_O) v) (* (* (sinh (/ 1 v)) 2) v) (/ (* sinTheta_i sinTheta_O) v)) |
| 1× | egg-herbie |
| Inputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
1 |
(+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) |
(+ 1 (* sinTheta_i (+ (* -1 (/ sinTheta_O v)) (* 1/2 (/ (* (pow sinTheta_O 2) sinTheta_i) (pow v 2)))))) |
(+ 1 (* sinTheta_i (+ (* -1 (/ sinTheta_O v)) (* sinTheta_i (+ (* -1/6 (/ (* (pow sinTheta_O 3) sinTheta_i) (pow v 3))) (* 1/2 (/ (pow sinTheta_O 2) (pow v 2)))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(exp (neg (/ (* sinTheta_O sinTheta_i) v))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ 1 (* sinTheta_O (+ (* -1 (/ sinTheta_i v)) (* 1/2 (/ (* sinTheta_O (pow sinTheta_i 2)) (pow v 2)))))) |
(+ 1 (* sinTheta_O (+ (* -1 (/ sinTheta_i v)) (* sinTheta_O (+ (* -1/6 (/ (* sinTheta_O (pow sinTheta_i 3)) (pow v 3))) (* 1/2 (/ (pow sinTheta_i 2) (pow v 2)))))))) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(+ 1 (+ (* -1 (/ (* sinTheta_O sinTheta_i) v)) (* 1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) (pow v 2))))) |
(+ 1 (+ (* -1 (/ (* sinTheta_O sinTheta_i) v)) (+ (* -1/6 (/ (* (pow sinTheta_O 3) (pow sinTheta_i 3)) (pow v 3))) (* 1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) (pow v 2)))))) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(+ 1 (* -1 (/ (+ (* -1/2 (/ (* (pow sinTheta_O 2) (pow sinTheta_i 2)) v)) (* sinTheta_O sinTheta_i)) v))) |
(+ 1 (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (* (pow sinTheta_O 3) (pow sinTheta_i 3)) v)) (* 1/2 (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v)) (* sinTheta_O sinTheta_i)) v))) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/ (* cosTheta_O cosTheta_i) v) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| Inputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| Outputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
Compiled 430 to 45 computations (89.5% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 13 | 3 | 16 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 13 | 4 | 17 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.7% | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ▶ | 28.9% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ▶ | 55.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
| ▶ | 27.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
Compiled 107 to 86 computations (19.6% saved)
| 1× | egg-herbie |
Found 11 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f32 sinTheta_i sinTheta_O) | |
| cost-diff | 0 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| cost-diff | 0 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| cost-diff | 0 | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) | |
| cost-diff | 0 | (*.f32 cosTheta_i cosTheta_O) | |
| cost-diff | 0 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) | |
| cost-diff | 0 | (*.f32 sinTheta_i sinTheta_O) | |
| cost-diff | 0 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| cost-diff | 0 | (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
v |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
#s(literal 2 binary32) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
v |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
#s(literal 2 binary32) |
Found 11 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.23570253907376804 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| accuracy | 0.26953125 | (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) | |
| accuracy | 0.7644642031730291 | (sinh.f32 (/.f32 #s(literal 1 binary32) v)) | |
| accuracy | 23.436575033957308 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| accuracy | 0.0 | (*.f32 cosTheta_i cosTheta_O) | |
| accuracy | 0.2772801023150756 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | |
| accuracy | 14.337173551796337 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) | |
| accuracy | 0.0 | (*.f32 sinTheta_i sinTheta_O) | |
| accuracy | 0.0 | (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| accuracy | 0.23570253907376804 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| accuracy | 23.2592560576937 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
| 46.0ms | 256× | 0 | valid |
Compiled 309 to 55 computations (82.2% saved)
ival-mult: 14.0ms (53.6% of total)ival-div: 6.0ms (23% of total)ival-exp: 2.0ms (7.7% of total)ival-sinh: 2.0ms (7.7% of total)ival-neg: 1.0ms (3.8% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O cosTheta_i) v) |
(* cosTheta_O cosTheta_i) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(* sinTheta_O sinTheta_i) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | cosTheta_O | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (* sinTheta_i sinTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (sinh (/ 1 v)) (* (* (sinh (/ 1 v)) 2) v)) |
| 8.0ms | sinTheta_O | @ | inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (* sinTheta_i sinTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (sinh (/ 1 v)) (* (* (sinh (/ 1 v)) 2) v)) |
| 6.0ms | sinTheta_O | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (* sinTheta_i sinTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (sinh (/ 1 v)) (* (* (sinh (/ 1 v)) 2) v)) |
| 3.0ms | cosTheta_O | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (* sinTheta_i sinTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (sinh (/ 1 v)) (* (* (sinh (/ 1 v)) 2) v)) |
| 3.0ms | cosTheta_i | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (* sinTheta_i sinTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (sinh (/ 1 v)) (* (* (sinh (/ 1 v)) 2) v)) |
| 1× | egg-herbie |
| Inputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O cosTheta_i) v) |
(* cosTheta_O cosTheta_i) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(* sinTheta_O sinTheta_i) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(/ (* cosTheta_O cosTheta_i) v) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(* cosTheta_O cosTheta_i) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(*.f32 sinTheta_i sinTheta_O) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(*.f32 cosTheta_i cosTheta_O) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(* sinTheta_O sinTheta_i) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
(*.f32 cosTheta_i cosTheta_O) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
Compiled 834 to 58 computations (93% saved)
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 21 | 4 | 25 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 0 | 1 | 1 |
| Total | 22 | 7 | 29 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.7% | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 28.9% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ▶ | 29.2% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 55.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
| ▶ | 27.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
| ▶ | 57.0% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
| ▶ | 27.7% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
Compiled 213 to 153 computations (28.2% saved)
| 1× | egg-herbie |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) | |
| cost-diff | 0 | (*.f32 sinTheta_i sinTheta_O) | |
| cost-diff | 0 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) | |
| cost-diff | 0 | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) | |
| cost-diff | 0 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| cost-diff | 0 | #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| cost-diff | 0 | (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) | |
| cost-diff | 0 | (*.f32 cosTheta_i cosTheta_O) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) | |
| cost-diff | 0 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| cost-diff | 0 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| cost-diff | 0 | #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
v |
#s(literal 2 binary32) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(*.f32 cosTheta_i cosTheta_O) |
cosTheta_i |
cosTheta_O |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
v |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
(/.f32 #s(literal 1 binary32) v) |
#s(literal 1 binary32) |
v |
#s(literal 2 binary32) |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.18359375 | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) | |
| accuracy | 0.26953125 | (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) | |
| accuracy | 0.7644642031730291 | (sinh.f32 (/.f32 #s(literal 1 binary32) v)) | |
| accuracy | 23.365887449932668 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) | |
| accuracy | 0.23570253907376804 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| accuracy | 0.2772801023150756 | (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) | |
| accuracy | 14.337173551796337 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) | |
| accuracy | 23.379601325621525 | #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| accuracy | 0.0 | (*.f32 cosTheta_i cosTheta_O) | |
| accuracy | 13.759541089762577 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) | |
| accuracy | 0.23570253907376804 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | |
| accuracy | 23.2592560576937 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) | |
| accuracy | 23.436575033957308 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | |
| accuracy | 23.569423730600572 | #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
| 39.0ms | 256× | 0 | valid |
Compiled 459 to 58 computations (87.4% saved)
ival-div: 10.0ms (42.1% of total)ival-mult: 8.0ms (33.7% of total)ival-exp: 2.0ms (8.4% of total)ival-sinh: 2.0ms (8.4% of total)ival-neg: 1.0ms (4.2% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(*.f32 cosTheta_i cosTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(* cosTheta_O cosTheta_i) |
(/ (* cosTheta_O cosTheta_i) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(* sinTheta_O sinTheta_i) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | cosTheta_i | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O) (* (* (sinh (/ 1 v)) 2) v) (sinh (/ 1 v))) |
| 3.0ms | cosTheta_O | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O) (* (* (sinh (/ 1 v)) 2) v) (sinh (/ 1 v))) |
| 3.0ms | sinTheta_O | @ | inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O) (* (* (sinh (/ 1 v)) 2) v) (sinh (/ 1 v))) |
| 3.0ms | cosTheta_i | @ | inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O) (* (* (sinh (/ 1 v)) 2) v) (sinh (/ 1 v))) |
| 3.0ms | cosTheta_O | @ | inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/ (* sinTheta_i sinTheta_O) v) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/ (* cosTheta_i cosTheta_O) v) (* cosTheta_i cosTheta_O) (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O) (* (* (sinh (/ 1 v)) 2) v) (sinh (/ 1 v))) |
| 1× | egg-herbie |
| Inputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(* cosTheta_O cosTheta_i) |
(/ (* cosTheta_O cosTheta_i) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(/ (* sinTheta_O sinTheta_i) v) |
(* sinTheta_O sinTheta_i) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* v (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
2 |
(+ 2 (* 1/3 (/ 1 (pow v 2)))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (* 1/3 (/ 1 (pow v 2))))) |
(+ 2 (+ (/ 1/60 (pow v 4)) (+ (* 1/3 (/ 1 (pow v 2))) (* 1/2520 (/ 1 (pow v 6)))))) |
(/ 1 v) |
(/ (+ 1 (* 1/6 (/ 1 (pow v 2)))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (* 1/6 (/ 1 (pow v 2))))) v) |
(/ (+ 1 (+ (/ 1/120 (pow v 4)) (+ (* 1/6 (/ 1 (pow v 2))) (* 1/5040 (/ 1 (pow v 6)))))) v) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/6 (* 1/120 (/ 1 (pow v 2)))) (pow v 2))) 1) v)) |
(* -1 (/ (- (* -1 (/ (+ 1/120 (* 1/5040 (/ 1 (pow v 2)))) (pow v 4))) (+ 1 (* 1/6 (/ 1 (pow v 2))))) v)) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
(* cosTheta_O cosTheta_i) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/ (* cosTheta_O cosTheta_i) v) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(*.f32 cosTheta_i cosTheta_O) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(*.f32 sinTheta_i sinTheta_O) |
(/ (* sinTheta_O sinTheta_i) v) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(* sinTheta_O sinTheta_i) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(*.f32 cosTheta_i cosTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
(*.f32 cosTheta_i cosTheta_O) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v) |
#s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
(*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v) |
(sinh.f32 (/.f32 #s(literal 1 binary32) v)) |
Compiled 1 341 to 74 computations (94.5% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 30 | 1 | 31 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 3 | 3 |
| Total | 30 | 8 | 38 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.7% | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 28.9% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 29.2% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 55.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
| ✓ | 27.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
| ✓ | 57.0% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
| ✓ | 27.7% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
| ▶ | 28.0% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
Compiled 260 to 176 computations (32.3% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f32 sinTheta_i sinTheta_O) | |
| cost-diff | 0 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) | |
| cost-diff | 0 | #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) | |
| cost-diff | 0 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
sinTheta_i |
sinTheta_O |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f32 sinTheta_i sinTheta_O) | |
| accuracy | 23.2592560576937 | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) | |
| accuracy | 23.365887449932668 | #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) | |
| accuracy | 23.569423730600572 | #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
| 31.0ms | 256× | 0 | valid |
Compiled 141 to 44 computations (68.8% saved)
ival-mult: 8.0ms (40.1% of total)ival-div: 7.0ms (35.1% of total)ival-exp: 2.0ms (10% of total)ival-sinh: 2.0ms (10% of total)ival-neg: 1.0ms (5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* cosTheta_O cosTheta_i) v) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* sinTheta_O sinTheta_i) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | sinTheta_i | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O)) |
| 4.0ms | cosTheta_i | @ | 0 | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O)) |
| 2.0ms | cosTheta_i | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O)) |
| 2.0ms | cosTheta_i | @ | inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O)) |
| 2.0ms | cosTheta_O | @ | -inf | ((/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg (/ (* sinTheta_i sinTheta_O) v)) (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* sinTheta_i sinTheta_O)) |
| 1× | egg-herbie |
| Inputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(* -1 (/ (* sinTheta_O sinTheta_i) v)) |
(/ (* cosTheta_O cosTheta_i) v) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (pow v 2))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) sinTheta_i))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_i (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_O)) (pow v 2))) (* sinTheta_i (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) sinTheta_i))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_O 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* sinTheta_O sinTheta_i) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (* (pow v 5) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (* (pow v 4) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 2)))) (pow v 3))))) (/ (* cosTheta_O cosTheta_i) v)) |
(+ (* sinTheta_O (+ (* -1 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) (pow v 2))) (* sinTheta_O (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O (pow sinTheta_i 3)))) (pow v 4))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (pow sinTheta_i 2))) (pow v 3))))))) (/ (* cosTheta_O cosTheta_i) v)) |
(* 1/2 (/ (* cosTheta_O cosTheta_i) v)) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2))))) v) |
(/ (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (* cosTheta_O cosTheta_i)) (+ (* 1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) (pow v 3))) (* 1/2 (/ (- (* 1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (* cosTheta_O cosTheta_i))) (pow v 2)))))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* cosTheta_O cosTheta_i)) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i))) v) |
(/ (+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (+ (* -1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) (pow v 3))) (+ (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) (pow v 2))) (* cosTheta_O cosTheta_i)))) v) |
(* -1 (/ (+ (* -1/2 (* cosTheta_O cosTheta_i)) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1/2 (/ (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))) v))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (/ (- (* -1/6 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3))))) (* -1/6 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* 1/2 (- (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* -1/6 (* cosTheta_O cosTheta_i))))) v)) (* -1/2 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))))) v)) (* -1/2 (* cosTheta_O cosTheta_i))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* 1/2 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2)))) v))) v))) v)) |
(* -1 (/ (+ (* -1 (* cosTheta_O cosTheta_i)) (* -1 (/ (+ (* -1 (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))) (* -1 (/ (+ (* -1/2 (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 2) (pow sinTheta_i 2))))) (* 1/6 (/ (* cosTheta_O (* cosTheta_i (* (pow sinTheta_O 3) (pow sinTheta_i 3)))) v))) v))) v))) v)) |
| Outputs |
|---|
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
(/ (* cosTheta_O (* cosTheta_i (exp (neg (/ (* sinTheta_O sinTheta_i) v))))) v) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
(/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v)))))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(+ (* -1 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) (* (pow v 3) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) (/ (* cosTheta_O cosTheta_i) (* (pow v 2) (- (exp (/ 1 v)) (/ 1 (exp (/ 1 v))))))) |
(*.f32 sinTheta_i sinTheta_O) |
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O))) |
#s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) |
(*.f32 sinTheta_i sinTheta_O) |
Compiled 392 to 29 computations (92.6% saved)
8 alts after pruning (0 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 8 | 0 | 8 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 8 | 8 | 16 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.7% | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 28.9% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 29.2% | (/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| ✓ | 55.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
| ✓ | 27.3% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
| ✓ | 57.0% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
| ✓ | 27.7% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
| ✓ | 28.0% | #s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
Compiled 549 to 223 computations (59.4% saved)
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| Outputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
8 calls:
| 14.0ms | (*.f32 cosTheta_i cosTheta_O) |
| 7.0ms | cosTheta_O |
| 3.0ms | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 3.0ms | v |
| 3.0ms | cosTheta_i |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.7% | 1 | cosTheta_i |
| 98.7% | 1 | cosTheta_O |
| 98.7% | 1 | sinTheta_i |
| 98.7% | 1 | sinTheta_O |
| 98.7% | 1 | v |
| 98.7% | 1 | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 98.7% | 1 | (*.f32 sinTheta_i sinTheta_O) |
| 98.7% | 1 | (*.f32 cosTheta_i cosTheta_O) |
Compiled 33 to 56 computations (-69.7% saved)
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(approx (* cosTheta_i cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
8 calls:
| 8.0ms | (*.f32 sinTheta_i sinTheta_O) |
| 3.0ms | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 3.0ms | sinTheta_O |
| 3.0ms | cosTheta_i |
| 3.0ms | v |
| Accuracy | Segments | Branch |
|---|---|---|
| 57.0% | 1 | cosTheta_O |
| 57.0% | 1 | sinTheta_i |
| 57.0% | 1 | sinTheta_O |
| 57.0% | 1 | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 57.0% | 1 | (*.f32 sinTheta_i sinTheta_O) |
| 57.0% | 1 | (*.f32 cosTheta_i cosTheta_O) |
| 57.0% | 1 | cosTheta_i |
| 57.0% | 1 | v |
Compiled 33 to 56 computations (-69.7% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
| Outputs |
|---|
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
8 calls:
| 4.0ms | (*.f32 cosTheta_i cosTheta_O) |
| 1.0ms | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 1.0ms | cosTheta_O |
| 1.0ms | v |
| 1.0ms | cosTheta_i |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.0% | 1 | sinTheta_O |
| 28.0% | 1 | v |
| 28.0% | 1 | (*.f32 cosTheta_i cosTheta_O) |
| 28.0% | 1 | cosTheta_O |
| 28.0% | 1 | sinTheta_i |
| 28.0% | 1 | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| 28.0% | 1 | (*.f32 sinTheta_i sinTheta_O) |
| 28.0% | 1 | cosTheta_i |
Compiled 33 to 56 computations (-69.7% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
| Outputs |
|---|
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i cosTheta_O)) |
#s(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) #s(approx (neg (/ (* sinTheta_i sinTheta_O) v)) #s(approx (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (*.f32 sinTheta_i sinTheta_O)))) |
| 1× | done |
Compiled 95 to 37 computations (61.1% saved)
Compiled 234 to 112 computations (52.1% saved)
Loading profile data...