
Time bar (total: 2.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 23 to 12 computations (47.8% saved)
| 1.0s | 8 256× | 0 | valid |
ival-sinu: 261.0ms (33.1% of total)ival-cosu: 185.0ms (23.5% of total)ival-pow2: 173.0ms (21.9% of total)ival-mult: 124.0ms (15.7% of total)ival-add: 36.0ms (4.6% of total)ival-true: 6.0ms (0.8% of total)ival-assert: 3.0ms (0.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 123 | 0 | - | 0 | - | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| 123 | 0 | - | 0 | - | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| 0 | 0 | - | 0 | - | (/.f64 angle #s(literal 180 binary64)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| 0 | 0 | - | 0 | - | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 0 | 0 | - | 0 | - | (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | #s(literal 180 binary64) |
| 0 | 0 | - | 0 | - | angle |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| 0 | 0 | - | 0 | - | b |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 0 | 0 | - | 0 | - | (PI.f64) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
cos.f64 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | sensitivity | 123 | 1 |
sin.f64 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | sensitivity | 123 | 1 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 58 | 0 |
| - | 65 | 133 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 58 | 0 | 0 |
| - | 65 | 1 | 132 |
| number | freq |
|---|---|
| 0 | 133 |
| 2 | 123 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 87.0ms | 512× | 0 | valid |
Compiled 274 to 64 computations (76.6% saved)
ival-cosu: 18.0ms (27.4% of total)ival-sinu: 15.0ms (22.8% of total)ival-mult: 13.0ms (19.8% of total)ival-pow2: 10.0ms (15.2% of total)ival-div: 4.0ms (6.1% of total)ival-pi: 2.0ms (3% of total)ival-add: 2.0ms (3% of total)ival-true: 1.0ms (1.5% of total)exact: 1.0ms (1.5% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
Compiled 21 to 15 computations (28.6% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 81.3% | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
Compiled 21 to 15 computations (28.6% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) | |
| cost-diff | 0 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Inputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| Outputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.24182379138909577 | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| 38.0ms | 256× | 0 | valid |
Compiled 168 to 32 computations (81% saved)
ival-sinu: 7.0ms (25.3% of total)ival-mult: 6.0ms (21.7% of total)ival-cosu: 5.0ms (18.1% of total)ival-pow2: 5.0ms (18.1% of total)ival-div: 2.0ms (7.2% of total)ival-pi: 1.0ms (3.6% of total)ival-add: 1.0ms (3.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | angle | @ | 0 | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 3.0ms | a | @ | 0 | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | a | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | angle | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | angle | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* a (sin (* 1/180 (* angle (PI))))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Inputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Outputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
Compiled 335 to 36 computations (89.3% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 8 | 5 | 13 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 8 | 6 | 14 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 81.3% | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 48.8% | (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 46.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 41.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| ▶ | 3.6% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
Compiled 311 to 233 computations (25.1% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (/.f64 angle #s(literal 180 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| cost-diff | 0 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (PI.f64) | |
| cost-diff | 0 | (/.f64 angle #s(literal 180 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) | |
| cost-diff | 0 | (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Inputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
| Outputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| accuracy | 0.24182379138909577 | (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| accuracy | 0.0 | (PI.f64) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 61.6930171540757 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.0 | (/.f64 angle #s(literal 180 binary64)) | |
| accuracy | 0.0 | (PI.f64) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 62.015835050777774 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 60.29348889480205 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| 52.0ms | 256× | 0 | valid |
Compiled 651 to 51 computations (92.2% saved)
ival-sinu: 11.0ms (33.2% of total)ival-cosu: 8.0ms (24.1% of total)ival-mult: 5.0ms (15.1% of total)ival-pow2: 5.0ms (15.1% of total)ival-div: 2.0ms (6% of total)ival-pi: 1.0ms (3% of total)ival-add: 1.0ms (3% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
(* 1/180 angle) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | angle | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (* (/ angle 180) (PI)) (/ angle 180) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | a | @ | 0 | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (* (/ angle 180) (PI)) (/ angle 180) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | a | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (* (/ angle 180) (PI)) (/ angle 180) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | angle | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (* (/ angle 180) (PI)) (/ angle 180) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | a | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (* (/ angle 180) (PI)) (/ angle 180) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
(* 1/180 angle) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* a (sin (* 1/180 (* angle (PI))))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(pow b 2) |
(/.f64 angle #s(literal 180 binary64)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(PI.f64) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* 1/180 (* a (* angle (PI)))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Inputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Outputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
Compiled 1 562 to 51 computations (96.7% saved)
11 alts after pruning (5 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 44 | 5 | 49 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 1 | 1 |
| Total | 44 | 11 | 55 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 81.3% | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 48.8% | (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 34.2% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 46.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 42.3% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 41.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 7.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
| ✓ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| ✓ | 3.6% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| ▶ | 4.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
Compiled 518 to 338 computations (34.7% saved)
| 1× | egg-herbie |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (/.f64 angle #s(literal 180 binary64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) | |
| cost-diff | 0 | (PI.f64) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) | |
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Inputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| accuracy | 60.29348889480205 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.0 | (/.f64 angle #s(literal 180 binary64)) | |
| accuracy | 62.022646613544254 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) | |
| accuracy | 0.0 | (PI.f64) | |
| accuracy | 61.31107375266894 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| accuracy | 60.29348889480205 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| 46.0ms | 256× | 0 | valid |
Compiled 761 to 53 computations (93% saved)
ival-sinu: 7.0ms (26.3% of total)ival-cosu: 6.0ms (22.6% of total)ival-mult: 5.0ms (18.8% of total)ival-pow2: 5.0ms (18.8% of total)ival-div: 2.0ms (7.5% of total)ival-pi: 1.0ms (3.8% of total)ival-add: 1.0ms (3.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 (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(/.f64 angle #s(literal 180 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
(* 1/180 angle) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/ angle 180) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | a | @ | 0 | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/ angle 180) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | a | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/ angle 180) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | angle | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/ angle 180) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 2.0ms | angle | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/ angle 180) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (cos (* (/ angle 180) (PI))) (* (/ angle 180) (PI))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
(* 1/180 angle) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* a (sin (* 1/180 (* angle (PI))))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(PI.f64) |
(pow b 2) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(/.f64 angle #s(literal 180 binary64)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(* 1/180 (* a (* angle (PI)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Inputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(/.f64 angle #s(literal 180 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
(/.f64 angle #s(literal 180 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
Compiled 2 196 to 57 computations (97.4% saved)
16 alts after pruning (5 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 45 | 5 | 50 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 6 | 6 |
| Total | 45 | 16 | 61 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 81.3% | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 48.8% | (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 34.0% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 34.2% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 46.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 41.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 42.3% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 41.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 18.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
| ✓ | 7.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ▶ | 4.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
| ✓ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| ✓ | 3.6% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| ✓ | 4.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
| ▶ | 2.8% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
Compiled 812 to 469 computations (42.2% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) | |
| cost-diff | 0 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| cost-diff | 0 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) | |
| cost-diff | 0 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| cost-diff | 0 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| cost-diff | 0 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| cost-diff | 0 | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Inputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
#s(literal 2 binary64) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
a |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(/.f64 angle #s(literal 180 binary64)) |
angle |
#s(literal 180 binary64) |
(PI.f64) |
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
b |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(literal 2 binary64) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| accuracy | 33.10102366841124 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| accuracy | 61.66029744585831 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.23275375976844204 | (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 33.10102366841124 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) | |
| accuracy | 61.71722529901702 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 27.049848645940852 | (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 33.10102366841124 | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) | |
| accuracy | 60.29348889480205 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 0.3046875 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) | |
| accuracy | 27.37181816252783 | (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) | |
| accuracy | 52.823991100125234 | #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) | |
| accuracy | 61.71722529901702 | #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| 48.0ms | 256× | 0 | valid |
Compiled 1 105 to 59 computations (94.7% saved)
ival-sinu: 7.0ms (25.2% of total)ival-mult: 6.0ms (21.6% of total)ival-cosu: 5.0ms (18% of total)ival-pow2: 5.0ms (18% of total)ival-div: 2.0ms (7.2% of total)ival-pi: 1.0ms (3.6% of total)ival-add: 1.0ms (3.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (* (/ angle 180) (PI)) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | a | @ | 0 | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (* (/ angle 180) (PI)) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | a | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (* (/ angle 180) (PI)) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | angle | @ | inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (* (/ angle 180) (PI)) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 2.0ms | angle | @ | -inf | ((+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (* (/ angle 180) (PI)) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (sin (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (* a (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI))) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* a (sin (* (/ angle 180) (PI)))) 2)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
(* a (sin (* 1/180 (* angle (PI))))) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
(pow b 2) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(* 1/180 (* a (* angle (PI)))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
(* 1/180 (* angle (PI))) |
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI)))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5))))))) |
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5)))))))) |
1 |
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2)))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4)))))) |
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4))))))) |
(sin (* 1/180 (* angle (PI)))) |
(cos (* 1/180 (* angle (PI)))) |
| Outputs |
|---|
(* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* a (sin (* 1/180 (* angle (PI))))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
(* (pow a 2) (+ (/ (* (pow b 2) (pow (cos (* 1/180 (* angle (PI)))) 2)) (pow a 2)) (pow (sin (* 1/180 (* angle (PI)))) 2))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
(* (pow b 2) (+ (/ (* (pow a 2) (pow (sin (* 1/180 (* angle (PI)))) 2)) (pow b 2)) (pow (cos (* 1/180 (* angle (PI)))) 2))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
(pow b 2) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) (pow b 2)) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4))))))))) (pow b 2)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(+ (* (pow angle 2) (+ (* -1/32400 (* (pow b 2) (pow (PI) 2))) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (+ (* (pow angle 2) (+ (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))) (* (pow b 2) (+ (* -1/816293376000000 (pow (PI) 6)) (* -1/12244400640000000 (pow (PI) 6)))))) (* (pow b 2) (+ (* 1/12597120000 (pow (PI) 4)) (* 1/4199040000 (pow (PI) 4)))))))))) (pow b 2)) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
(* 1/32400 (* (pow a 2) (* (pow angle 2) (pow (PI) 2)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (* (pow angle 2) (pow (PI) 4)))) (* 1/32400 (* (pow a 2) (pow (PI) 2))))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow a 2) (* (pow angle 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6))))))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(* (pow angle 2) (+ (* 1/32400 (* (pow a 2) (pow (PI) 2))) (* (pow angle 2) (+ (* -1/3149280000 (* (pow a 2) (pow (PI) 4))) (* (pow angle 2) (+ (* (pow a 2) (* (pow angle 2) (+ (* -1/396718580736000000000 (pow (PI) 8)) (* -1/2777030065152000000000 (pow (PI) 8))))) (* (pow a 2) (+ (* 1/2040733440000000 (pow (PI) 6)) (* 1/1224440064000000 (pow (PI) 6)))))))))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(* 1/180 (* a (* angle (PI)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* angle (+ (* -1/34992000 (* a (* (pow angle 2) (pow (PI) 3)))) (* 1/180 (* a (PI))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* 1/22674816000000 (* a (* (pow angle 2) (pow (PI) 5)))))))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(* angle (+ (* 1/180 (* a (PI))) (* (pow angle 2) (+ (* -1/34992000 (* a (pow (PI) 3))) (* (pow angle 2) (+ (* -1/30855889612800000000 (* a (* (pow angle 2) (pow (PI) 7)))) (* 1/22674816000000 (* a (pow (PI) 5))))))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(* 1/180 (* angle (PI))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Inputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) |
#s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
(cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) |
#s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) |
Compiled 3 619 to 109 computations (97% saved)
21 alts after pruning (5 fresh and 16 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 55 | 5 | 60 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 11 | 11 |
| Total | 55 | 21 | 76 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 81.3% | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 48.8% | (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 34.0% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 34.1% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) | |
| 39.7% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| ✓ | 34.2% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 46.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 33.9% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) | |
| ✓ | 41.6% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 40.8% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) | |
| ✓ | 42.3% | (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 41.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 18.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
| ✓ | 7.0% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 4.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| ✓ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
| ✓ | 3.1% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
| ✓ | 3.6% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| ✓ | 4.2% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
| ✓ | 2.8% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
| 5.4% | #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
Compiled 1 988 to 568 computations (71.4% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
6 calls:
| 7.0ms | (/.f64 angle #s(literal 180 binary64)) |
| 7.0ms | b |
| 6.0ms | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 6.0ms | a |
| 6.0ms | angle |
| Accuracy | Segments | Branch |
|---|---|---|
| 81.3% | 1 | a |
| 81.3% | 1 | b |
| 81.3% | 1 | angle |
| 81.3% | 1 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 81.3% | 1 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 81.3% | 1 | (/.f64 angle #s(literal 180 binary64)) |
Compiled 32 to 36 computations (-12.5% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
6 calls:
| 5.0ms | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 5.0ms | (/.f64 angle #s(literal 180 binary64)) |
| 5.0ms | angle |
| 5.0ms | a |
| 5.0ms | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.4% | 3 | a |
| 70.0% | 3 | b |
| 55.8% | 2 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 60.7% | 4 | angle |
| 60.7% | 4 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 60.7% | 4 | (/.f64 angle #s(literal 180 binary64)) |
Compiled 32 to 36 computations (-12.5% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
1 calls:
| 5.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 70.0% | 3 | b |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
1 calls:
| 4.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 69.7% | 3 | b |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
6 calls:
| 4.0ms | (/.f64 angle #s(literal 180 binary64)) |
| 4.0ms | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 4.0ms | angle |
| 4.0ms | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 3.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 41.0% | 1 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 43.0% | 2 | angle |
| 43.0% | 2 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 43.0% | 2 | (/.f64 angle #s(literal 180 binary64)) |
| 41.0% | 1 | a |
| 45.7% | 3 | b |
Compiled 32 to 36 computations (-12.5% saved)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 #s(approx (* (/ angle 180) (PI)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))))))) |
| Outputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
6 calls:
| 3.0ms | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 3.0ms | b |
| 3.0ms | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 3.0ms | (/.f64 angle #s(literal 180 binary64)) |
| 3.0ms | angle |
| Accuracy | Segments | Branch |
|---|---|---|
| 18.2% | 1 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 18.2% | 1 | a |
| 18.2% | 1 | angle |
| 18.2% | 1 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 18.2% | 1 | (/.f64 angle #s(literal 180 binary64)) |
| 18.2% | 1 | b |
Compiled 32 to 36 computations (-12.5% saved)
Total -1.4b remaining (-2.3%)
Threshold costs -1.4b (-2.3%)
| Inputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (/.f64 angle #s(literal 180 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) |
| Outputs |
|---|
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
6 calls:
| 3.0ms | b |
| 2.0ms | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 2.0ms | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 2.0ms | (/.f64 angle #s(literal 180 binary64)) |
| 2.0ms | angle |
| Accuracy | Segments | Branch |
|---|---|---|
| 4.2% | 1 | (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
| 4.2% | 1 | a |
| 4.2% | 1 | angle |
| 4.2% | 1 | (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)) |
| 4.2% | 1 | (/.f64 angle #s(literal 180 binary64)) |
| 4.2% | 1 | b |
Compiled 32 to 36 computations (-12.5% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 4.7810241843119367e+24 | 6.823178050669073e+25 |
| 24.0ms | -3.5877793120718546e-24 | -1.9593213032238677e-29 |
| 29.0ms | 240× | 0 | valid |
Compiled 978 to 733 computations (25.1% saved)
ival-sinu: 7.0ms (30.4% of total)ival-cosu: 6.0ms (26% of total)ival-pow2: 5.0ms (21.7% of total)ival-mult: 4.0ms (17.4% of total)ival-add: 1.0ms (4.3% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 4.7810241843119367e+24 | 6.823178050669073e+25 |
| 4.0ms | -3.5877793120718546e-24 | -1.9593213032238677e-29 |
| 2.0ms | 16× | 0 | valid |
Compiled 1 059 to 751 computations (29.1% saved)
ival-true: 0.0ms (0% of total)ival-add: 0.0ms (0% of total)ival-mult: 0.0ms (0% of total)ival-sinu: 0.0ms (0% of total)ival-cosu: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)ival-pow2: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 9.62383066584695e+105 | 8.220856577283062e+106 |
| 1.0ms | -3.5877793120718546e-24 | -1.9593213032238677e-29 |
| 12.0ms | 96× | 0 | valid |
Compiled 1 044 to 736 computations (29.5% saved)
ival-sinu: 3.0ms (31.4% of total)ival-cosu: 3.0ms (31.4% of total)ival-pow2: 2.0ms (20.9% of total)ival-mult: 1.0ms (10.5% of total)ival-true: 0.0ms (0% of total)ival-add: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 1.3092159824363726e+192 | 4.1047004906250497e+198 |
| 28.0ms | -1.2903600920992634e+133 | -1.6567813220225662e+111 |
| 39.0ms | 320× | 0 | valid |
Compiled 1 424 to 996 computations (30.1% saved)
ival-sinu: 8.0ms (28.3% of total)ival-cosu: 7.0ms (24.8% of total)ival-pow2: 7.0ms (24.8% of total)ival-mult: 4.0ms (14.1% of total)ival-add: 1.0ms (3.5% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(if (<=.f64 b #s(literal -7136238463529799/22300745198530623141535718272648361505980416 binary64)) (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 7199999999999999664455680 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -7247742189522453/22300745198530623141535718272648361505980416 binary64)) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 7199999999999999664455680 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -3679622957757553/11150372599265311570767859136324180752990208 binary64)) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 10000000000000000910359990503684350104604539951754865571545457374840902895351334152154180097541612190564352 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -23000000000000002113798415841583634489255369458070367475338738167367743897258102483121572000025882191942560861254112410265809059840 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 1699999999999999980888280466933711594902130021611151919940961394977237502736196833148049929533995641693659404791680958589168166652522100874767102421917987763369560829412492974571045111572987904 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
| Outputs |
|---|
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) |
(if (<=.f64 b #s(literal -7136238463529799/22300745198530623141535718272648361505980416 binary64)) (+.f64 (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 7199999999999999664455680 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -7247742189522453/22300745198530623141535718272648361505980416 binary64)) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 7199999999999999664455680 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -3679622957757553/11150372599265311570767859136324180752990208 binary64)) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 10000000000000000910359990503684350104604539951754865571545457374840902895351334152154180097541612190564352 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) (+.f64 #s(approx (pow (* a (sin (* (/ angle 180) (PI)))) 2) #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))) |
(if (<=.f64 b #s(literal -23000000000000002113798415841583634489255369458070367475338738167367743897258102483121572000025882191942560861254112410265809059840 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) (if (<=.f64 b #s(literal 1699999999999999980888280466933711594902130021611151919940961394977237502736196833148049929533995641693659404791680958589168166652522100874767102421917987763369560829412492974571045111572987904 binary64)) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))) #s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (pow.f64 #s(approx (* a (sin (* (/ angle 180) (PI)))) (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) #s(literal 2 binary64))) |
#s(approx (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) (PI.f64)) |
| 1× | fuel |
Compiled 529 to 60 computations (88.7% saved)
Compiled 1 100 to 150 computations (86.4% saved)
Loading profile data...