
Time bar (total: 3.0s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 100% | 99.8% | 0% | 0.2% | 0% | 0% | 0% | 1 |
Compiled 17 to 16 computations (5.9% saved)
| 687.0ms | 1 863× | 1 | valid |
| 680.0ms | 6 393× | 0 | valid |
ival-exp: 416.0ms (37.5% of total)ival-cos: 291.0ms (26.2% of total)ival-mult: 129.0ms (11.6% of total)ival-div: 63.0ms (5.7% of total)ival-add: 54.0ms (4.9% of total)ival-sub: 53.0ms (4.8% of total)adjust: 53.0ms (4.8% of total)ival-neg: 35.0ms (3.2% of total)ival-true: 6.0ms (0.5% of total)exact: 5.0ms (0.5% of total)ival-assert: 3.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 130 | 0 | - | 0 | - | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 0 | 0 | - | 0 | - | K |
| 0 | 0 | - | 0 | - | (neg.f64 l) |
| 0 | 0 | - | 0 | - | (/.f64 K #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 0 | 135 | (6.322898763244336e-41 -4.1262726007320756e+241 -1.4736621206546837e+238 1.459044830727883e-269) | 0 | - | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 0 | 0 | - | 0 | - | J |
| 0 | 0 | - | 0 | - | U |
| 0 | 1 | (-1.50298393666487e+37 113.2301733485463 6.196425610673756e-103 3.7390467513920694e-224) | 0 | - | (exp.f64 (neg.f64 l)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (exp.f64 l) |
| 0 | 0 | - | 0 | - | l |
| 0 | 0 | - | 0 | - | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
cos.f64 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | sensitivity | 135 | 0 |
-.f64 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | cancellation | 45 | 0 |
exp.f64 | (exp.f64 (neg.f64 l)) | sensitivity | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 40 | 0 |
| - | 113 | 103 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 40 | 0 | 0 |
| - | 113 | 0 | 103 |
| number | freq |
|---|---|
| 0 | 103 |
| 1 | 125 |
| 2 | 28 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 77.0ms | 198× | 1 | valid |
| 38.0ms | 268× | 0 | valid |
| 27.0ms | 46× | 2 | valid |
Compiled 202 to 60 computations (70.3% saved)
ival-exp: 51.0ms (45.4% of total)ival-cos: 24.0ms (21.4% of total)ival-div: 10.0ms (8.9% of total)ival-mult: 9.0ms (8% of total)adjust: 7.0ms (6.2% of total)ival-sub: 4.0ms (3.6% of total)ival-add: 4.0ms (3.6% of total)ival-neg: 2.0ms (1.8% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
Compiled 15 to 14 computations (6.7% saved)
Compiled 0 to 4 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 85.8% | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
Compiled 15 to 14 computations (6.7% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| Inputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
U |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
U |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 0.0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 0.078125 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 34.0ms | 99× | 1 | valid |
| 17.0ms | 134× | 0 | valid |
| 16.0ms | 23× | 2 | valid |
Compiled 124 to 30 computations (75.8% saved)
ival-exp: 24.0ms (48.1% of total)ival-cos: 11.0ms (22% of total)ival-mult: 5.0ms (10% of total)adjust: 3.0ms (6% of total)ival-sub: 2.0ms (4% of total)ival-div: 2.0ms (4% of total)ival-add: 2.0ms (4% of total)ival-neg: 1.0ms (2% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(exp.f64 l) |
| Outputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(- (exp l) (exp (neg l))) |
(exp l) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | J | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2)) (exp l)) |
| 2.0ms | K | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2)) (exp l)) |
| 2.0ms | l | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2)) (exp l)) |
| 2.0ms | J | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2)) (exp l)) |
| 1.0ms | l | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2)) (exp l)) |
| 1× | egg-herbie |
| Inputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(- (exp l) (exp (neg l))) |
(exp l) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
| Outputs |
|---|
U |
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(* J (- (exp l) (exp (neg l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(exp.f64 l) |
| Inputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(exp.f64 l) |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(exp.f64 l) |
Compiled 234 to 33 computations (85.9% saved)
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 7 | 5 | 12 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 8 | 5 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 60.3% | (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| ▶ | 73.6% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| ▶ | 51.7% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| ▶ | 16.2% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
| ▶ | 2.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
Compiled 226 to 194 computations (14.2% saved)
| 1× | egg-herbie |
Found 17 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) | |
| cost-diff | 0 | (/.f64 K #s(literal 2 binary64)) | |
| cost-diff | 0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | (exp.f64 l) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) | |
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| cost-diff | 0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(exp.f64 l) |
l |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(exp.f64 l) |
l |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
Found 17 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 0.078125 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 0.0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 0.078125 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 46.77672987107728 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| accuracy | 0.0 | (/.f64 K #s(literal 2 binary64)) | |
| accuracy | 0.0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 62.34596012082547 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 53.625319292194995 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) | |
| accuracy | 0.0 | (exp.f64 (neg.f64 l)) | |
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 42.0ms | 99× | 1 | valid |
| 19.0ms | 134× | 0 | valid |
| 13.0ms | 23× | 2 | valid |
Compiled 491 to 47 computations (90.4% saved)
ival-exp: 25.0ms (51.4% of total)ival-cos: 9.0ms (18.5% of total)ival-mult: 5.0ms (10.3% of total)adjust: 3.0ms (6.2% of total)ival-sub: 2.0ms (4.1% of total)ival-div: 2.0ms (4.1% of total)ival-add: 2.0ms (4.1% of total)ival-neg: 1.0ms (2.1% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(exp.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 (neg.f64 l)) |
| Outputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(- (exp l) (exp (neg l))) |
(exp l) |
(exp (neg l)) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(exp (* -1 l)) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(* 1/2 K) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | J | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos (/ K 2)) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp (neg l))) |
| 1.0ms | J | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos (/ K 2)) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp (neg l))) |
| 1.0ms | J | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos (/ K 2)) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp (neg l))) |
| 1.0ms | l | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos (/ K 2)) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp (neg l))) |
| 1.0ms | l | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos (/ K 2)) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp (neg l))) |
| 1× | egg-herbie |
| Inputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(- (exp l) (exp (neg l))) |
(exp l) |
(exp (neg l)) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(exp (* -1 l)) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(* 1/2 K) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
| Outputs |
|---|
U |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(* J (- (exp l) (exp (neg l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(exp.f64 l) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(/.f64 K #s(literal 2 binary64)) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(* 2 (* J l)) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(exp.f64 (neg.f64 l)) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(exp.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 (neg.f64 l)) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
(exp.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 (neg.f64 l)) |
Compiled 1 152 to 55 computations (95.2% saved)
9 alts after pruning (6 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 6 | 41 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 0 | 0 |
| Total | 37 | 9 | 46 |
| Status | Accuracy | Program |
|---|---|---|
| 31.8% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)) U) | |
| ▶ | 62.7% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| ▶ | 33.2% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
| ▶ | 2.8% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
| ✓ | 51.7% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| ▶ | 26.2% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| ✓ | 16.2% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
| ✓ | 2.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| ▶ | 39.5% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
Compiled 447 to 308 computations (31.1% saved)
| 1× | egg-herbie |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) | |
| cost-diff | 0 | (exp.f64 (neg.f64 l)) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) | |
| cost-diff | 0 | (/.f64 K #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) | |
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| cost-diff | 0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
l |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
l |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
J |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.078125 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 46.77672987107728 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 0.0 | (neg.f64 l) | |
| accuracy | 0.0 | (exp.f64 (neg.f64 l)) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) | |
| accuracy | 56.768125349113916 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) | |
| accuracy | 0.0 | (/.f64 K #s(literal 2 binary64)) | |
| accuracy | 62.238503764700575 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 46.77672987107728 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 44.0ms | 99× | 1 | valid |
| 20.0ms | 134× | 0 | valid |
| 15.0ms | 23× | 2 | valid |
Compiled 590 to 49 computations (91.7% saved)
ival-exp: 28.0ms (50.6% of total)ival-cos: 10.0ms (18.1% of total)ival-mult: 5.0ms (9% of total)ival-sub: 4.0ms (7.2% of total)adjust: 3.0ms (5.4% of total)ival-div: 2.0ms (3.6% of total)ival-add: 2.0ms (3.6% of total)ival-neg: 1.0ms (1.8% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 l) |
(neg.f64 l) |
| Outputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(* -1 l) |
(- (exp l) (exp (neg l))) |
(exp (neg l)) |
(exp l) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(exp (* -1 l)) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(* 1/2 K) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | U | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp l) (neg l)) |
| 2.0ms | J | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp l) (neg l)) |
| 1.0ms | l | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp l) (neg l)) |
| 1.0ms | J | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp l) (neg l)) |
| 1.0ms | l | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/ K 2) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (exp l) (neg l)) |
| 1× | egg-herbie |
| Inputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
1 |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(* -1 l) |
(- (exp l) (exp (neg l))) |
(exp (neg l)) |
(exp l) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(- (exp l) (exp (* -1 l))) |
(exp (* -1 l)) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(* 1/2 K) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
| Outputs |
|---|
U |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(* J (- (exp l) (exp (neg l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(/.f64 K #s(literal 2 binary64)) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(exp.f64 (neg.f64 l)) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(* 2 (* J l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(exp.f64 l) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
(neg.f64 l) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 l) |
(neg.f64 l) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(exp.f64 l) |
(neg.f64 l) |
Compiled 1 627 to 66 computations (95.9% saved)
13 alts after pruning (7 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 40 | 6 | 46 |
| Fresh | 0 | 1 | 1 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 3 | 3 |
| Total | 42 | 13 | 55 |
| Status | Accuracy | Program |
|---|---|---|
| 31.8% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)) U) | |
| ✓ | 62.7% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| ▶ | 33.7% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
| ▶ | 37.2% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
| ✓ | 2.8% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
| ✓ | 51.7% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| ▶ | 3.1% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| 13.1% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| ✓ | 16.2% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
| ✓ | 2.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| ✓ | 39.5% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| ▶ | 28.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| ▶ | 12.0% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
Compiled 641 to 398 computations (37.9% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) | |
| cost-diff | 0 | (neg.f64 l) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) | |
| cost-diff | 0 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| cost-diff | 0 | (exp.f64 (neg.f64 l)) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) | |
| cost-diff | 0 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) | |
| cost-diff | 0 | (neg.f64 l) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) | |
| cost-diff | 0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) | |
| cost-diff | 0 | (exp.f64 l) | |
| cost-diff | 0 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) | |
| cost-diff | 0 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) | |
| cost-diff | 0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(exp.f64 l) |
l |
U |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
l |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
l |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
l |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(exp.f64 l) |
l |
U |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
l |
U |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
l |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
l |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
(/.f64 K #s(literal 2 binary64)) |
K |
#s(literal 2 binary64) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(exp.f64 l) |
l |
(exp.f64 (neg.f64 l)) |
(neg.f64 l) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) | |
| accuracy | 29.528092346869983 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) | |
| accuracy | 46.77672987107728 | #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) | |
| accuracy | 0.0 | (cos.f64 (/.f64 K #s(literal 2 binary64))) | |
| accuracy | 0.078125 | (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| accuracy | 61.560819620953474 | #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) | |
| accuracy | 0.0 | (exp.f64 (neg.f64 l)) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) | |
| accuracy | 21.69148821884076 | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) | |
| accuracy | 56.768125349113916 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) | |
| accuracy | 0.0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) | |
| accuracy | 0.0 | (neg.f64 l) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) | |
| accuracy | 61.560819620953474 | #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) | |
| accuracy | 0.0 | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) | |
| accuracy | 0.0 | (exp.f64 l) | |
| accuracy | 20.555962943251412 | #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) | |
| accuracy | 55.55408596084299 | #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
| 42.0ms | 99× | 1 | valid |
| 24.0ms | 134× | 0 | valid |
| 13.0ms | 23× | 2 | valid |
Compiled 616 to 51 computations (91.7% saved)
ival-exp: 28.0ms (49.5% of total)ival-cos: 9.0ms (15.9% of total)adjust: 8.0ms (14.1% of total)ival-mult: 5.0ms (8.8% of total)ival-sub: 2.0ms (3.5% of total)ival-div: 2.0ms (3.5% of total)ival-add: 2.0ms (3.5% of total)ival-neg: 1.0ms (1.8% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(exp.f64 l) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
| Outputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(* -1 l) |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
(exp l) |
(exp (neg l)) |
(- (exp l) (exp (neg l))) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(exp (* -1 l)) |
(- (exp l) (exp (* -1 l))) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | U | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (neg l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2))) |
| 2.0ms | J | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (neg l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2))) |
| 1.0ms | J | @ | 0 | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (neg l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2))) |
| 1.0ms | l | @ | inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (neg l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2))) |
| 1.0ms | l | @ | -inf | ((+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (neg l) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (exp (neg l)) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (* J (- (exp l) (exp (neg l)))) (- (exp l) (exp (neg l))) (cos (/ K 2))) |
| 1× | egg-herbie |
| Inputs |
|---|
U |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
(* J (- (exp l) (exp (neg l)))) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
(* 2 (* J l)) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
1 |
(+ 1 l) |
(+ 1 (* l (+ 1 (* 1/2 l)))) |
(+ 1 (* l (+ 1 (* l (+ 1/2 (* 1/6 l)))))) |
(* -1 l) |
(+ 1 (* -1 l)) |
(+ 1 (* l (- (* 1/2 l) 1))) |
(+ 1 (* l (- (* l (+ 1/2 (* -1/6 l))) 1))) |
(* 2 l) |
(* l (+ 2 (* 1/3 (pow l 2)))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* 1/60 (pow l 2)))))) |
(* l (+ 2 (* (pow l 2) (+ 1/3 (* (pow l 2) (+ 1/60 (* 1/2520 (pow l 2)))))))) |
(exp l) |
(exp (neg l)) |
(- (exp l) (exp (neg l))) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l)))))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (* -1 l))))) |
(* J (- (exp l) (exp (* -1 l)))) |
(exp (* -1 l)) |
(- (exp l) (exp (* -1 l))) |
(+ U (* J (- (exp l) (exp (neg l))))) |
(+ U (+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l)))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))))))) |
(+ U (+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l))))))))))) |
(+ (* -1/8 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* J (- (exp l) (exp (neg l))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* 1/384 (* J (* (pow K 2) (- (exp l) (exp (neg l))))))))) |
(+ (* J (- (exp l) (exp (neg l)))) (* (pow K 2) (+ (* -1/8 (* J (- (exp l) (exp (neg l))))) (* (pow K 2) (+ (* -1/46080 (* J (* (pow K 2) (- (exp l) (exp (neg l)))))) (* 1/384 (* J (- (exp l) (exp (neg l)))))))))) |
(+ 1 (* -1/8 (pow K 2))) |
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8))) |
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8))) |
(cos (* 1/2 K)) |
(* U (+ 1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U))) |
(* -1 (* U (- (* -1 (/ (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) U)) 1))) |
| Outputs |
|---|
U |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+ U (* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
(* J (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(* J (- (exp l) (exp (neg l)))) |
(exp.f64 l) |
(* J (+ (* (cos (* 1/2 K)) (- (exp l) (exp (neg l)))) (/ U J))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
(* -1 (* J (+ (* -1 (* (cos (* 1/2 K)) (- (exp l) (exp (neg l))))) (* -1 (/ U J))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
(+ U (* 2 (* J (* l (cos (* 1/2 K)))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(+ U (* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K))))))) |
(neg.f64 l) |
(+ U (* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K))))))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(* 2 (* J (* l (cos (* 1/2 K))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
(* l (+ (* 1/3 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 2 (* J (cos (* 1/2 K)))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/60 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/3 (* J (cos (* 1/2 K)))))))) |
(exp.f64 (neg.f64 l)) |
(* l (+ (* 2 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/3 (* J (cos (* 1/2 K)))) (* (pow l 2) (+ (* 1/2520 (* J (* (pow l 2) (cos (* 1/2 K))))) (* 1/60 (* J (cos (* 1/2 K)))))))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(* 2 (* J l)) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
(* l (+ (* 1/3 (* J (pow l 2))) (* 2 J))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/60 (* J (pow l 2))) (* 1/3 J))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
(* l (+ (* 2 J) (* (pow l 2) (+ (* 1/3 J) (* (pow l 2) (+ (* 1/2520 (* J (pow l 2))) (* 1/60 J))))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
1 |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(+ 1 l) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
| Inputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(exp.f64 l) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) |
(exp.f64 l) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) |
(neg.f64 l) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))) |
(exp.f64 (neg.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) |
#s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
(cos.f64 (/.f64 K #s(literal 2 binary64))) |
Compiled 1 640 to 77 computations (95.3% saved)
16 alts after pruning (5 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 40 | 3 | 43 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 6 | 6 |
| Total | 40 | 16 | 56 |
| Status | Accuracy | Program |
|---|---|---|
| 31.8% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)) U) | |
| ✓ | 62.7% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| ✓ | 33.7% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
| ✓ | 37.2% | (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
| ✓ | 2.8% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
| ✓ | 51.7% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| ✓ | 3.1% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| 13.1% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) | |
| 3.0% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) | |
| ✓ | 16.2% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
| ✓ | 2.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| ✓ | 39.5% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| ✓ | 28.6% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| 28.8% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (exp.f64 (neg.f64 l)))))) | |
| 15.1% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (exp.f64 (neg.f64 l)))))) | |
| ✓ | 12.0% | #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
Compiled 1 161 to 385 computations (66.8% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)) U) |
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
10 calls:
| 10.0ms | (/.f64 K #s(literal 2 binary64)) |
| 8.0ms | K |
| 8.0ms | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 6.0ms | J |
| 6.0ms | U |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.8% | 1 | J |
| 85.8% | 1 | l |
| 85.8% | 1 | K |
| 85.8% | 1 | U |
| 85.8% | 1 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 85.8% | 1 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 85.8% | 1 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 85.8% | 1 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 85.8% | 1 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 85.8% | 1 | (/.f64 K #s(literal 2 binary64)) |
Compiled 53 to 73 computations (-37.7% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)) U) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
10 calls:
| 8.0ms | K |
| 7.0ms | l |
| 7.0ms | (/.f64 K #s(literal 2 binary64)) |
| 6.0ms | U |
| 6.0ms | J |
| Accuracy | Segments | Branch |
|---|---|---|
| 77.9% | 2 | J |
| 85.3% | 3 | l |
| 73.6% | 1 | U |
| 85.3% | 3 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 85.6% | 3 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 85.6% | 3 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 85.3% | 3 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 75.9% | 2 | K |
| 80.7% | 2 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 75.9% | 2 | (/.f64 K #s(literal 2 binary64)) |
Compiled 53 to 73 computations (-37.7% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 #s(approx (exp l) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
(+.f64 (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
6 calls:
| 14.0ms | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 6.0ms | l |
| 5.0ms | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 5.0ms | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 4.0ms | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.7% | 2 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 73.6% | 1 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 73.6% | 1 | l |
| 73.6% | 1 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 73.6% | 1 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 73.6% | 1 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
Compiled 47 to 55 computations (-17% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
10 calls:
| 5.0ms | K |
| 4.0ms | (/.f64 K #s(literal 2 binary64)) |
| 4.0ms | U |
| 4.0ms | J |
| 4.0ms | l |
| Accuracy | Segments | Branch |
|---|---|---|
| 62.7% | 1 | U |
| 73.2% | 3 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 73.5% | 3 | l |
| 72.8% | 3 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 73.3% | 3 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 73.5% | 3 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 62.7% | 1 | K |
| 62.7% | 1 | (/.f64 K #s(literal 2 binary64)) |
| 64.7% | 2 | J |
| 62.7% | 1 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
Compiled 53 to 73 computations (-37.7% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) |
6 calls:
| 4.0ms | J |
| 4.0ms | l |
| 3.0ms | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 3.0ms | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 3.0ms | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.6% | 2 | J |
| 62.7% | 1 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 62.7% | 1 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 62.7% | 1 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 62.7% | 1 | l |
| 62.7% | 1 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
Compiled 44 to 52 computations (-18.2% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
10 calls:
| 5.0ms | l |
| 4.0ms | J |
| 3.0ms | (/.f64 K #s(literal 2 binary64)) |
| 3.0ms | U |
| 3.0ms | K |
| Accuracy | Segments | Branch |
|---|---|---|
| 59.2% | 3 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 40.6% | 3 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 61.2% | 4 | l |
| 49.2% | 4 | U |
| 59.5% | 3 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 59.5% | 3 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 59.2% | 3 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 37.2% | 1 | K |
| 37.2% | 1 | (/.f64 K #s(literal 2 binary64)) |
| 46.5% | 5 | J |
Compiled 53 to 73 computations (-37.7% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l)) (cos.f64 (/.f64 K #s(literal 2 binary64))))) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U) |
5 calls:
| 3.0ms | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 3.0ms | l |
| 3.0ms | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 3.0ms | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 2.0ms | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 46.8% | 3 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 56.1% | 3 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 47.2% | 2 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 47.2% | 2 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 56.1% | 3 | l |
Compiled 43 to 48 computations (-11.6% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
1 calls:
| 2.0ms | l |
| Accuracy | Segments | Branch |
|---|---|---|
| 56.1% | 3 | l |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)) |
4 calls:
| 2.0ms | l |
| 2.0ms | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 2.0ms | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 1.0ms | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.2% | 2 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 47.2% | 2 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 46.9% | 2 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 46.9% | 2 | l |
Compiled 35 to 39 computations (-11.4% saved)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (/.f64 K #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
10 calls:
| 3.0ms | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 2.0ms | K |
| 2.0ms | (/.f64 K #s(literal 2 binary64)) |
| 2.0ms | U |
| 2.0ms | l |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.7% | 1 | K |
| 33.7% | 1 | (/.f64 K #s(literal 2 binary64)) |
| 33.7% | 1 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 33.7% | 1 | J |
| 33.7% | 1 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 33.7% | 1 | U |
| 33.7% | 1 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 33.7% | 1 | l |
| 33.7% | 1 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 33.7% | 1 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
Compiled 53 to 73 computations (-37.7% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
| Outputs |
|---|
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
10 calls:
| 2.0ms | J |
| 1.0ms | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 1.0ms | (/.f64 K #s(literal 2 binary64)) |
| 1.0ms | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 1.0ms | U |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.0% | 1 | (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) |
| 3.0% | 1 | K |
| 3.0% | 1 | (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
| 3.0% | 1 | (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) |
| 3.0% | 1 | (/.f64 K #s(literal 2 binary64)) |
| 3.0% | 1 | J |
| 3.0% | 1 | l |
| 3.0% | 1 | (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) |
| 3.0% | 1 | (cos.f64 (/.f64 K #s(literal 2 binary64))) |
| 3.0% | 1 | U |
Compiled 53 to 73 computations (-37.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 8.656617859152075e+126 | 2.1335764359231262e+286 |
| 0.0ms | -3.026668383950859e+262 | -7.769806871238866e+156 |
Compiled 18 to 21 computations (-16.7% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.019594442735702298 | 0.05821244760950576 |
Compiled 18 to 21 computations (-16.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.0023936689953483192 | 1.4970609087807274e+49 |
| 0.0ms | -0.0026276969970873143 | -2.2860691117898568e-10 |
Compiled 18 to 21 computations (-16.7% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 26.0ms | -1.50298393666487e+37 | -4.5441664720465496e+32 |
| 11.0ms | 98× | 0 | valid |
| 10.0ms | 30× | 1 | valid |
Compiled 490 to 341 computations (30.4% saved)
ival-exp: 6.0ms (35.6% of total)ival-cos: 5.0ms (29.7% of total)ival-mult: 2.0ms (11.9% of total)ival-sub: 1.0ms (5.9% of total)ival-div: 1.0ms (5.9% of total)adjust: 1.0ms (5.9% of total)ival-add: 1.0ms (5.9% of total)ival-neg: 1.0ms (5.9% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | predicate-same |
| Time | Left | Right |
|---|---|---|
| 22.0ms | 4527994107281.745 | 1.6803216749187576e+27 |
| 24.0ms | -1.2904660472690722e+20 | -19966.994576736888 |
| 4.0ms | -8.864973638114095e+75 | -3.896092455366383e+68 |
| 37.0ms | 352× | 0 | valid |
Compiled 1 422 to 845 computations (40.6% saved)
ival-exp: 7.0ms (26.1% of total)ival-cos: 7.0ms (26.1% of total)ival-mult: 6.0ms (22.4% of total)ival-div: 2.0ms (7.5% of total)ival-add: 2.0ms (7.5% of total)ival-sub: 2.0ms (7.5% of total)ival-neg: 1.0ms (3.7% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 2.0ms | 4527994107281.745 | 1.6803216749187576e+27 |
| 1.0ms | -1.2904660472690722e+20 | -19966.994576736888 |
Compiled 1 248 to 761 computations (39% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 4527994107281.745 | 1.6803216749187576e+27 |
| 1.0ms | -1.2904660472690722e+20 | -19966.994576736888 |
Compiled 1 158 to 751 computations (35.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 5.306941234863036e+306 | +inf |
Compiled 18 to 21 computations (-16.7% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(if (<=.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(literal -20000000000000000323456785900191669561923454243064936219351155259210830706007157687226704499288107285763810660663679263023264344934985834790648308005091295168868698197129205191161878464985997761417827125414132937520722989422036627287210875071738030889333260550144 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) (if (<=.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(literal 9999999999999999549291066784979473595300225087383524118479625982517885450291174622154390152298057300868772377386949310916067328 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))))) |
(if (<=.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) #s(literal 5764607523034235/288230376151711744 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U)) |
(if (<=.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) #s(literal -1152921504606847/576460752303423488 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) (if (<=.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) #s(literal 1152921504606847/288230376151711744 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))) |
(if (<=.f64 J #s(literal -21000000000000001739383612245016576 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U)) |
(if (<=.f64 l #s(literal -999999999999999943801810948794571024057224129020550531544123892056457216 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) (if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U)))) |
(if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U))) |
(if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)))) |
(if (<=.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) #s(literal 9999999999999999860310597602564577717002641838126363875249660735883565852672743849064846414228960666786379280392654615393353172850252103336275952370615397010730691664689375178569039851073146339641623266071126720011020169553304018596457812688561947201171488461172921822139066929851282122002676667750021070848 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
| Outputs |
|---|
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) |
(if (<=.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(literal -20000000000000000323456785900191669561923454243064936219351155259210830706007157687226704499288107285763810660663679263023264344934985834790648308005091295168868698197129205191161878464985997761417827125414132937520722989422036627287210875071738030889333260550144 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) (if (<=.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(literal 9999999999999999549291066784979473595300225087383524118479625982517885450291174622154390152298057300868772377386949310916067328 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))))) |
(if (<=.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) #s(literal 5764607523034235/288230376151711744 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U)) |
(if (<=.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) #s(literal -1152921504606847/576460752303423488 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) (if (<=.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) #s(literal 1152921504606847/288230376151711744 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))))) |
(if (<=.f64 J #s(literal -21000000000000001739383612245016576 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l)))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))) U)) |
(if (<=.f64 l #s(literal -999999999999999943801810948794571024057224129020550531544123892056457216 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))) (if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U)))) |
(if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 l))) U))) |
(if (<=.f64 l #s(literal -20000 binary64)) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (exp.f64 (neg.f64 l))))) (if (<=.f64 l #s(literal 4600000000000 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l)))) |
(if (<=.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U) #s(literal 9999999999999999860310597602564577717002641838126363875249660735883565852672743849064846414228960666786379280392654615393353172850252103336275952370615397010730691664689375178569039851073146339641623266071126720011020169553304018596457812688561947201171488461172921822139066929851282122002676667750021070848 binary64)) (+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) #s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (exp.f64 l))) |
(+.f64 #s(approx (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) #s(approx (* J (- (exp l) (exp (neg l)))) (neg.f64 l))) U) |
#s(approx (+ (* (* J (- (exp l) (exp (neg l)))) (cos (/ K 2))) U) (neg.f64 l)) |
| 1× | fuel |
Compiled 839 to 76 computations (90.9% saved)
Compiled 1 708 to 180 computations (89.5% saved)
Loading profile data...