
Time bar (total: 8.6s)
| 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 13 to 12 computations (7.7% saved)
| 1.1s | 8 256× | 0 | valid |
ival-cos: 437.0ms (49.5% of total)ival-exp: 219.0ms (24.8% of total)ival-mult: 128.0ms (14.5% of total)ival-neg: 44.0ms (5% of total)ival-add: 41.0ms (4.6% of total)ival-true: 6.0ms (0.7% of total)exact: 5.0ms (0.6% of total)ival-assert: 3.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (exp.f64 im) |
| 0 | 0 | - | 0 | - | (neg.f64 im) |
| 0 | 1 | (3.7506706935489226e-106 -532.6416129294325) | 0 | - | (exp.f64 (neg.f64 im)) |
| 0 | 0 | - | 0 | - | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 0 | 0 | - | 0 | - | (cos.f64 re) |
| 0 | 0 | - | 0 | - | im |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 0 | 0 | - | 0 | - | re |
| 0 | 0 | - | 0 | - | #s(literal 1/2 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
exp.f64 | (exp.f64 (neg.f64 im)) | sensitivity | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 1 | 255 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 1 | 0 | 255 |
| number | freq |
|---|---|
| 0 | 255 |
| 1 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 1 | 0 | 0 |
| 146.0ms | 512× | 0 | valid |
Compiled 81 to 34 computations (58% saved)
ival-mult: 69.0ms (53.2% of total)ival-cos: 48.0ms (37% of total)ival-exp: 7.0ms (5.4% of total)ival-add: 2.0ms (1.5% of total)ival-neg: 2.0ms (1.5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| 204× | times-frac |
| 194× | associate-*r* |
| 174× | distribute-lft-neg-in |
| 170× | cancel-sign-sub-inv |
| 162× | sub-neg |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 57 |
| 1 | 91 | 55 |
| 2 | 258 | 55 |
| 3 | 587 | 55 |
| 4 | 910 | 55 |
| 5 | 1191 | 55 |
| 6 | 1418 | 55 |
| 7 | 1591 | 55 |
| 8 | 1641 | 55 |
| 9 | 1646 | 55 |
| 10 | 1646 | 55 |
| 11 | 1646 | 55 |
| 0 | 10 | 11 |
| 0 | 17 | 11 |
| 1 | 34 | 11 |
| 2 | 73 | 11 |
| 3 | 107 | 11 |
| 4 | 129 | 11 |
| 5 | 156 | 11 |
| 6 | 178 | 11 |
| 7 | 181 | 11 |
| 8 | 183 | 11 |
| 9 | 188 | 11 |
| 10 | 188 | 11 |
| 0 | 188 | 11 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (cos.f64 re)) |
(abs im)
(abs re)
Compiled 11 to 10 computations (9.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 11 to 10 computations (9.1% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (exp.f64 (neg.f64 im)) | |
| cost-diff | 0 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 124× | lower-*.f32 |
| 120× | lower-*.f64 |
| 76× | lower-fma.f64 |
| 76× | lower-fma.f32 |
| 52× | associate-*r* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 33 |
| 0 | 17 | 33 |
| 1 | 34 | 33 |
| 2 | 73 | 33 |
| 3 | 107 | 33 |
| 4 | 129 | 33 |
| 5 | 156 | 33 |
| 6 | 178 | 33 |
| 7 | 181 | 33 |
| 8 | 183 | 33 |
| 9 | 188 | 33 |
| 10 | 188 | 33 |
| 0 | 188 | 33 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(exp.f64 im) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (cos.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(exp.f64 im) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0 | (exp.f64 (neg.f64 im)) | |
| accuracy | 0 | (exp.f64 im) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 0.00390625 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 46.0ms | 256× | 0 | valid |
Compiled 35 to 12 computations (65.7% saved)
ival-cos: 27.0ms (75.9% of total)ival-exp: 3.0ms (8.4% of total)ival-mult: 3.0ms (8.4% of total)ival-add: 1.0ms (2.8% of total)ival-neg: 1.0ms (2.8% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ()) |
#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ()) |
#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ()) |
#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ()) |
| Outputs |
|---|
#s(alt 1/2 (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1 im)) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* 1/2 im) 1))) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 im) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* 1/2 im)))) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | im | @ | 0 | ((* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp (neg im)) (exp im)) |
| 0.0ms | re | @ | inf | ((* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp (neg im)) (exp im)) |
| 0.0ms | re | @ | 0 | ((* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp (neg im)) (exp im)) |
| 0.0ms | re | @ | -inf | ((* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp (neg im)) (exp im)) |
| 0.0ms | im | @ | -inf | ((* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp (neg im)) (exp im)) |
| 1× | egg-herbie |
| 12 768× | lower-fma.f64 |
| 12 768× | lower-fma.f32 |
| 4 220× | lower-*.f64 |
| 4 220× | lower-*.f32 |
| 2 016× | lower-+.f64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 84 | 307 |
| 1 | 200 | 306 |
| 2 | 448 | 302 |
| 3 | 1046 | 302 |
| 4 | 1715 | 302 |
| 5 | 2210 | 302 |
| 6 | 3067 | 302 |
| 7 | 4181 | 302 |
| 8 | 5300 | 302 |
| 9 | 6813 | 302 |
| 10 | 7766 | 302 |
| 0 | 8064 | 274 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
1 |
(+ 1 (* -1 im)) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
1 |
(+ 1 im) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
| Outputs |
|---|
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1 im)) |
(-.f64 #s(literal 1 binary64) im) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal -1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal -1 binary64)) im #s(literal 1 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 im) |
(-.f64 im #s(literal -1 binary64)) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal 1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
| 4 400× | lower-/.f64 |
| 4 400× | lower-/.f32 |
| 4 092× | lower-*.f32 |
| 4 090× | lower-*.f64 |
| 2 902× | lower-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 0 | 15 | 17 |
| 1 | 36 | 15 |
| 2 | 198 | 15 |
| 3 | 1782 | 15 |
| 0 | 8249 | 15 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(cos.f64 re) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(exp.f64 (neg.f64 im)) |
(exp.f64 im) |
| Outputs |
|---|
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
Compiled 6 084 to 908 computations (85.1% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 259 | 6 | 265 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 260 | 6 | 266 |
| Status | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) | |
| ▶ | 98.7% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
| ▶ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
| ▶ | 75.5% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| ▶ | 53.4% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| ▶ | 61.7% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 118 to 114 computations (3.4% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) | |
| cost-diff | 0 | (exp.f64 (neg.f64 im)) | |
| cost-diff | 0 | #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) | |
| cost-diff | 6400 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) | |
| cost-diff | 0 | #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| cost-diff | 0 | #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| cost-diff | 0 | (*.f64 (cosh.f64 im) #s(literal 2 binary64)) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| cost-diff | 640 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
| 8 452× | lower-fma.f32 |
| 8 450× | lower-fma.f64 |
| 2 990× | lower-*.f32 |
| 2 976× | lower-*.f64 |
| 2 510× | lower-/.f32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 168 |
| 0 | 48 | 166 |
| 1 | 88 | 166 |
| 2 | 170 | 164 |
| 3 | 291 | 152 |
| 4 | 469 | 152 |
| 5 | 1348 | 152 |
| 6 | 2570 | 152 |
| 7 | 5709 | 152 |
| 8 | 6117 | 152 |
| 9 | 6206 | 152 |
| 10 | 6345 | 152 |
| 11 | 6349 | 152 |
| 12 | 6349 | 152 |
| 13 | 6846 | 152 |
| 14 | 7221 | 152 |
| 15 | 7670 | 152 |
| 0 | 8063 | 152 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(*.f64 (cosh.f64 im) #s(literal 2 binary64)) |
(cosh.f64 im) |
im |
#s(literal 2 binary64) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) |
(fma.f64 im im #s(literal 2 binary64)) |
im |
#s(literal 2 binary64) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(exp.f64 im) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) |
#s(approx (exp (neg im)) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
(exp.f64 im) |
im |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(*.f64 (cosh.f64 im) #s(literal 2 binary64)) |
(*.f64 #s(literal 2 binary64) (cosh.f64 im)) |
(cosh.f64 im) |
im |
#s(literal 2 binary64) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (cos.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) |
(fma.f64 im im #s(literal 2 binary64)) |
im |
#s(literal 2 binary64) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (cosh.f64 im)) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(*.f64 #s(literal 2 binary64) (cosh.f64 im)) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(exp.f64 im) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) |
#s(approx (exp (neg im)) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
(exp.f64 im) |
im |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0 | (exp.f64 im) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 0.00390625 | (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) | |
| accuracy | 30.179902548873105 | #s(approx (exp (neg im)) #s(literal 1 binary64)) | |
| accuracy | 0 | (exp.f64 (neg.f64 im)) | |
| accuracy | 0 | (exp.f64 im) | |
| accuracy | 0.00390625 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) | |
| accuracy | 30.317455486587914 | #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) | |
| accuracy | 0 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| accuracy | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 15.70497618895339 | #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) | |
| accuracy | 0 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| accuracy | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 29.79725388201362 | #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) | |
| accuracy | 0 | (*.f64 (cosh.f64 im) #s(literal 2 binary64)) | |
| accuracy | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 0.00390625 | (cosh.f64 im) |
| 60.0ms | 256× | 0 | valid |
Compiled 147 to 19 computations (87.1% saved)
ival-mult: 21.0ms (53% of total)ival-cos: 6.0ms (15.2% of total)ival-exp: 3.0ms (7.6% of total)ival-neg: 3.0ms (7.6% of total)ival-add: 2.0ms (5.1% of total)ival-cosh: 2.0ms (5.1% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ()) |
#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ()) |
#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ()) |
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ()) |
#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ()) |
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ()) |
#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ()) |
#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ()) |
#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ()) |
#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ()) |
#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ()) |
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ()) |
#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ()) |
#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ()) |
#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ()) |
#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ()) |
| Outputs |
|---|
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1 im)) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* 1/2 im) 1))) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) (taylor 0 im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* 1/2 (pow im 2))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 im) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* 1/2 im)))) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) (taylor 0 im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1 im)) (taylor 0 im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* 1/2 im) 1))) (taylor 0 im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) (taylor 0 im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (neg im)) (taylor inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (/ 1 (exp im))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (patch (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (patch #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (patch (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt (exp.f64 (neg.f64 im)) (patch (exp.f64 (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (patch (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (exp.f64 im) (patch (exp.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (exp (* -1 im)) (taylor -inf im) (#s(alt #s(approx (exp (neg im)) #s(literal 1 binary64)) (patch #s(approx (exp (neg im)) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | im | @ | inf | ((* (* 1/2 (cos re)) (* (cosh im) 2)) (* 1/2 (cos re)) (cos re) (* (cosh im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (exp (neg im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (cosh im) (exp im) (exp (neg im))) |
| 2.0ms | im | @ | -inf | ((* (* 1/2 (cos re)) (* (cosh im) 2)) (* 1/2 (cos re)) (cos re) (* (cosh im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (exp (neg im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (cosh im) (exp im) (exp (neg im))) |
| 2.0ms | re | @ | inf | ((* (* 1/2 (cos re)) (* (cosh im) 2)) (* 1/2 (cos re)) (cos re) (* (cosh im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (exp (neg im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (cosh im) (exp im) (exp (neg im))) |
| 1.0ms | re | @ | -inf | ((* (* 1/2 (cos re)) (* (cosh im) 2)) (* 1/2 (cos re)) (cos re) (* (cosh im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (exp (neg im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (cosh im) (exp im) (exp (neg im))) |
| 1.0ms | re | @ | 0 | ((* (* 1/2 (cos re)) (* (cosh im) 2)) (* 1/2 (cos re)) (cos re) (* (cosh im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (exp (neg im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (cosh im) (exp im) (exp (neg im))) |
| 1× | egg-herbie |
| 23 172× | lower-fma.f64 |
| 23 172× | lower-fma.f32 |
| 5 904× | lower-+.f64 |
| 5 904× | lower-+.f32 |
| 3 854× | lower-*.f64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 151 | 2618 |
| 1 | 457 | 2461 |
| 2 | 1244 | 2411 |
| 3 | 3622 | 2326 |
| 4 | 7732 | 2326 |
| 0 | 8235 | 2197 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
1 |
(+ 1 (* -1 im)) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
1 |
(+ 1 (* 1/2 (pow im 2))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
1 |
(+ 1 im) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
1 |
(+ 1 (* -1 im)) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(exp (neg im)) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(+ (exp im) (/ 1 (exp im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
(exp (* -1 im)) |
| Outputs |
|---|
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1 im)) |
(-.f64 #s(literal 1 binary64) im) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal -1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal -1 binary64)) im #s(literal 1 binary64)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/360 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* 1/2 (pow im 2))) |
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 im) |
(+.f64 #s(literal 1 binary64) im) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal 1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1 im)) |
(-.f64 #s(literal 1 binary64) im) |
(+ 1 (* im (- (* 1/2 im) 1))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal -1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal -1 binary64)) im #s(literal 1 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(exp (neg im)) |
(exp.f64 (neg.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (/ 1 (exp im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
(exp (* -1 im)) |
(exp.f64 (neg.f64 im)) |
| 5 048× | lower-*.f32 |
| 5 034× | lower-*.f64 |
| 4 622× | lower-fma.f32 |
| 4 620× | lower-fma.f64 |
| 2 574× | lower-/.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 125 |
| 0 | 48 | 123 |
| 1 | 126 | 109 |
| 2 | 664 | 109 |
| 3 | 5519 | 109 |
| 0 | 8100 | 109 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(cos.f64 re) |
(*.f64 (cosh.f64 im) #s(literal 2 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
(exp.f64 (neg.f64 im)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) |
(cosh.f64 im) |
(exp.f64 im) |
#s(approx (exp (neg im)) #s(literal 1 binary64)) |
| Outputs |
|---|
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
Compiled 16 910 to 1 743 computations (89.7% saved)
17 alts after pruning (16 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 943 | 15 | 958 |
| Fresh | 0 | 1 | 1 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 0 | 0 |
| Total | 947 | 17 | 964 |
| Status | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) | |
| 53.9% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) | |
| ✓ | 75.5% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| ▶ | 100.0% | (*.f64 (cosh.f64 im) (cos.f64 re)) |
| 48.0% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 35.2% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| 47.9% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| ▶ | 35.1% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| 60.5% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) | |
| 47.8% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 32.0% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| 61.6% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) | |
| 43.3% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| ▶ | 28.1% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| ▶ | 87.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
| 93.0% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) | |
| ▶ | 53.4% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
Compiled 414 to 343 computations (17.1% saved)
| 1× | egg-herbie |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| cost-diff | 0 | (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) | |
| cost-diff | 0 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) | |
| cost-diff | 0 | (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) | |
| cost-diff | 0 | (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) | |
| cost-diff | 0 | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| cost-diff | 0 | #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) | |
| cost-diff | 0 | #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (cosh.f64 im) | |
| cost-diff | 0 | (*.f64 (cosh.f64 im) (cos.f64 re)) |
| 4 552× | lower-fma.f32 |
| 4 544× | lower-fma.f64 |
| 2 340× | lower-*.f32 |
| 2 328× | lower-*.f64 |
| 1 134× | distribute-lft-in |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 200 |
| 0 | 48 | 200 |
| 1 | 87 | 200 |
| 2 | 162 | 200 |
| 3 | 324 | 188 |
| 4 | 640 | 188 |
| 5 | 898 | 188 |
| 6 | 1034 | 188 |
| 7 | 1242 | 188 |
| 8 | 1283 | 188 |
| 9 | 1481 | 188 |
| 10 | 1589 | 188 |
| 11 | 1717 | 188 |
| 12 | 2142 | 188 |
| 13 | 3229 | 188 |
| 14 | 4144 | 188 |
| 15 | 4760 | 188 |
| 16 | 5025 | 188 |
| 17 | 5394 | 188 |
| 18 | 5824 | 188 |
| 19 | 6483 | 188 |
| 20 | 6701 | 188 |
| 21 | 6856 | 188 |
| 22 | 7002 | 188 |
| 23 | 7004 | 188 |
| 24 | 7004 | 188 |
| 25 | 7004 | 188 |
| 26 | 7004 | 188 |
| 0 | 7004 | 188 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(cosh.f64 im) |
im |
(cos.f64 re) |
re |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
#s(literal 1/48 binary64) |
(*.f64 re re) |
re |
#s(literal -1/4 binary64) |
#s(literal 1/2 binary64) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(cos.f64 re) |
re |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
(cos.f64 re) |
re |
| Outputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(cosh.f64 im) |
im |
(cos.f64 re) |
re |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) |
#s(literal 1/48 binary64) |
(*.f64 re re) |
re |
#s(literal -1/4 binary64) |
#s(literal 1/2 binary64) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(cos.f64 re) |
re |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
(cos.f64 re) |
re |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.03125 | (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) | |
| accuracy | 0.03515625 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| accuracy | 0.1015625 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| accuracy | 7.812999036080038 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 29.80490500168285 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) | |
| accuracy | 0.07097626953688403 | (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) | |
| accuracy | 0.1015625 | (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) | |
| accuracy | 29.79725388201362 | #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) | |
| accuracy | 33.01796399277025 | #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) | |
| accuracy | 0 | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) | |
| accuracy | 29.79725388201362 | #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) | |
| accuracy | 30.317455486587914 | #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) | |
| accuracy | 0 | (*.f64 (cosh.f64 im) (cos.f64 re)) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 0.00390625 | (cosh.f64 im) |
| 56.0ms | 256× | 0 | valid |
Compiled 156 to 30 computations (80.8% saved)
ival-mult: 15.0ms (37.3% of total)ival-cos: 6.0ms (14.9% of total)const: 6.0ms (14.9% of total)ival-add: 5.0ms (12.4% of total)ival-exp: 3.0ms (7.5% of total)ival-cosh: 3.0ms (7.5% of total)exact: 1.0ms (2.5% of total)ival-neg: 1.0ms (2.5% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ()) |
#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ()) |
#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ()) |
#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ()) |
#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ()) |
#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ()) |
#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ()) |
#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ()) |
#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ()) |
#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ()) |
#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ()) |
#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ()) |
| Outputs |
|---|
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt -1/4 (taylor 0 re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (- (* 1/48 (pow re 2)) 1/4) (taylor 0 re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (- (* 1/48 (pow re 2)) 1/4) (taylor 0 re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (- (* 1/48 (pow re 2)) 1/4) (taylor 0 re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/48 (pow re 4)) (taylor inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/48 (pow re 2)) (taylor inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (patch #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) (patch #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/48 (pow re 4)) (taylor -inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/48 (pow re 2)) (taylor -inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) (taylor -inf re) (#s(alt (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (patch (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* 1/2 (pow im 2))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* 1/2 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 4)) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 2)) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) (cos.f64 re)) (patch (*.f64 (cosh.f64 im) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (patch #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (patch (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 4)) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 2)) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | re | @ | inf | ((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* 1/48 (* re re)) -1/4) (* re re)) 1/2) (+ (* 1/48 (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2)) |
| 2.0ms | re | @ | -inf | ((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* 1/48 (* re re)) -1/4) (* re re)) 1/2) (+ (* 1/48 (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2)) |
| 2.0ms | im | @ | inf | ((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* 1/48 (* re re)) -1/4) (* re re)) 1/2) (+ (* 1/48 (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2)) |
| 2.0ms | im | @ | -inf | ((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* 1/48 (* re re)) -1/4) (* re re)) 1/2) (+ (* 1/48 (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2)) |
| 1.0ms | re | @ | 0 | ((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* 1/48 (* re re)) -1/4) (* re re)) 1/2) (+ (* 1/48 (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2)) |
| 1× | egg-herbie |
| 10 542× | lower-fma.f64 |
| 10 542× | lower-fma.f32 |
| 4 420× | lower-*.f64 |
| 4 420× | lower-*.f32 |
| 3 012× | lower-+.f64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 180 | 2969 |
| 1 | 573 | 2800 |
| 2 | 1768 | 2741 |
| 3 | 4766 | 2682 |
| 4 | 5496 | 2682 |
| 5 | 7524 | 2666 |
| 0 | 8050 | 2481 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
-1/4 |
(- (* 1/48 (pow re 2)) 1/4) |
(- (* 1/48 (pow re 2)) 1/4) |
(- (* 1/48 (pow re 2)) 1/4) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/48 (pow re 4)) |
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(* 1/48 (pow re 2)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/48 (pow re 4)) |
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(* 1/48 (pow re 2)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
1 |
(+ 1 (* 1/2 (pow im 2))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
1 |
(+ 1 (* 1/2 (pow im 2))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
1/2 |
(+ 1/2 (* 1/24 (pow im 2))) |
(+ 1/2 (* 1/24 (pow im 2))) |
(+ 1/2 (* 1/24 (pow im 2))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/24 (pow im 4)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* 1/24 (pow im 2)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/24 (pow im 4)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* 1/24 (pow im 2)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
| Outputs |
|---|
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
-1/4 |
#s(literal -1/4 binary64) |
(- (* 1/48 (pow re 2)) 1/4) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(- (* 1/48 (pow re 2)) 1/4) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(- (* 1/48 (pow re 2)) 1/4) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/48 (pow re 4)) |
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64)) |
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64) #s(literal 1/2 binary64))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64) #s(literal 1/2 binary64))) |
(* 1/48 (pow re 2)) |
(*.f64 #s(literal 1/48 binary64) (*.f64 re re)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/48 (pow re 4)) |
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64)) |
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64) #s(literal 1/2 binary64))) |
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 (*.f64 re #s(literal -1/4 binary64)) re (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64) #s(literal 1/2 binary64))) |
(* 1/48 (pow re 2)) |
(*.f64 #s(literal 1/48 binary64) (*.f64 re re)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2))))) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* 1/2 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 binary64))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* 1/2 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/24 (pow im 4)) |
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* 1/24 (pow im 2)) |
(*.f64 (*.f64 im im) #s(literal 1/24 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/24 (pow im 4)) |
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* 1/24 (pow im 2)) |
(*.f64 (*.f64 im im) #s(literal 1/24 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
| 9 606× | lower-fma.f32 |
| 9 598× | lower-fma.f64 |
| 6 180× | lower-*.f32 |
| 6 168× | lower-*.f64 |
| 3 326× | lower-/.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 167 |
| 0 | 48 | 167 |
| 1 | 152 | 149 |
| 2 | 963 | 149 |
| 0 | 8622 | 149 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(cosh.f64 im) |
(cos.f64 re) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) |
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
| Outputs |
|---|
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
Compiled 15 121 to 1 876 computations (87.6% saved)
20 alts after pruning (16 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 704 | 11 | 715 |
| Fresh | 6 | 5 | 11 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 1 | 1 |
| Total | 712 | 20 | 732 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
| 53.9% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) | |
| ✓ | 75.5% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| ✓ | 100.0% | (*.f64 (cosh.f64 im) (cos.f64 re)) |
| ▶ | 60.6% | (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
| 61.7% | (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) | |
| 47.9% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 47.8% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 43.3% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 93.0% | (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re)) | |
| ✓ | 87.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
| 55.0% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) | |
| 54.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) | |
| ▶ | 54.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
| ✓ | 53.4% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
| ▶ | 52.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
| 35.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) | |
| 35.1% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) | |
| 32.0% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) | |
| ▶ | 28.1% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
Compiled 493 to 377 computations (23.5% saved)
| 1× | egg-herbie |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) | |
| cost-diff | 0 | #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) | |
| cost-diff | 0 | (cosh.f64 im) | |
| cost-diff | 0 | (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) | |
| cost-diff | 0 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| cost-diff | 0 | (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) | |
| cost-diff | 0 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) | |
| cost-diff | 0 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| cost-diff | 0 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| cost-diff | 0 | #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) | |
| cost-diff | 0 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) | |
| cost-diff | 0 | #s(approx (cos re) #s(literal 1 binary64)) | |
| cost-diff | 0 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) | |
| cost-diff | 0 | (cos.f64 re) | |
| cost-diff | 0 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) | |
| cost-diff | 6592 | (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) | |
| cost-diff | 7040 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
| 7 368× | lower-fma.f32 |
| 7 362× | lower-fma.f64 |
| 3 754× | lower-*.f32 |
| 3 742× | lower-*.f64 |
| 1 198× | distribute-lft-neg-in |
Useful iterations: 12 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 288 |
| 0 | 63 | 288 |
| 1 | 105 | 288 |
| 2 | 201 | 288 |
| 3 | 385 | 288 |
| 4 | 908 | 288 |
| 5 | 1408 | 270 |
| 6 | 1622 | 270 |
| 7 | 1961 | 270 |
| 8 | 2074 | 270 |
| 9 | 2437 | 270 |
| 10 | 2539 | 270 |
| 11 | 2674 | 270 |
| 12 | 2933 | 255 |
| 13 | 3730 | 255 |
| 14 | 5242 | 255 |
| 15 | 6054 | 255 |
| 16 | 6285 | 255 |
| 17 | 6668 | 255 |
| 18 | 7080 | 255 |
| 19 | 7430 | 255 |
| 20 | 7928 | 255 |
| 0 | 8003 | 255 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) |
(exp.f64 #s(literal -1 binary64)) |
#s(literal -1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
#s(approx (cos re) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
#s(literal -1/2 binary64) |
(*.f64 re re) |
re |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(cosh.f64 im) |
im |
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
#s(literal -1/2 binary64) |
(*.f64 re re) |
re |
#s(literal 1 binary64) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(cos.f64 re) |
re |
(+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(exp.f64 (neg.f64 im)) |
(neg.f64 im) |
im |
(pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) |
(exp.f64 im) |
(exp.f64 #s(literal -1 binary64)) |
#s(literal -1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
#s(approx (cos re) #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (cos re) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(*.f64 im im) |
im |
#s(literal 1/24 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) |
#s(approx (cos re) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64)) |
#s(literal -1/2 binary64) |
(*.f64 re re) |
re |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64)))) |
(cosh.f64 im) |
im |
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) |
#s(approx (cos re) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64)) |
#s(literal -1/2 binary64) |
(*.f64 re re) |
re |
#s(literal 1 binary64) |
Found 18 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0 | (*.f64 re re) | |
| accuracy | 0.00390625 | (cosh.f64 im) | |
| accuracy | 0.006191259768442017 | (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) | |
| accuracy | 32.72833146803832 | #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) | |
| accuracy | 0.03515625 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| accuracy | 0.1015625 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| accuracy | 7.812999036080038 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) | |
| accuracy | 32.72833146803832 | #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) | |
| accuracy | 0.03515625 | (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) | |
| accuracy | 0.1015625 | (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) | |
| accuracy | 7.812999036080038 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) | |
| accuracy | 26.8859334351984 | #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) | |
| accuracy | 29.80490500168285 | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) | |
| accuracy | 30.31786349289968 | #s(approx (cos re) #s(literal 1 binary64)) | |
| accuracy | 0 | (exp.f64 #s(literal -1 binary64)) | |
| accuracy | 0 | (cos.f64 re) | |
| accuracy | 0.00390625 | (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) | |
| accuracy | 0.030446936977930102 | (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) |
| 65.0ms | 256× | 0 | valid |
Compiled 206 to 31 computations (85% saved)
ival-mult: 15.0ms (32.7% of total)ival-add: 6.0ms (13.1% of total)ival-exp: 6.0ms (13.1% of total)ival-cos: 6.0ms (13.1% of total)ival-pow: 5.0ms (10.9% of total)const: 3.0ms (6.5% of total)ival-cosh: 2.0ms (4.4% of total)exact: 1.0ms (2.2% of total)ival-neg: 1.0ms (2.2% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ()) |
#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ()) |
#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ()) |
#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ()) |
#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ()) |
#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ()) |
#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ()) |
#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ()) |
#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ()) |
#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ()) |
#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ()) |
#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ()) |
#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ()) |
#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ()) |
#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ()) |
#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ()) |
#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ()) |
#s(alt (exp.f64 #s(literal -1 binary64)) (patch (exp.f64 #s(literal -1 binary64)) #<representation binary64>) () ()) |
#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ()) |
| Outputs |
|---|
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* -1/4 (pow re 2))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) (taylor 0 re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor 0 re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) (taylor 0 re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) (taylor 0 re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (exp (neg im)))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) (taylor 0 re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) (taylor 0 re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) (taylor 0 re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) (taylor 0 re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) (taylor 0 re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* -1/2 (pow re 2))) (taylor 0 re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor 0 re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor 0 re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor 0 re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor 0 re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* -1/2 (pow re 2)) (taylor inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (cos re)) (taylor -inf re) (#s(alt (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (patch (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt (cos.f64 re) (patch (cos.f64 re) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) #s(literal 1 binary64)) (patch #s(approx (cos re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor -inf re) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (taylor -inf re) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf re) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor -inf re) (#s(alt #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (patch #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* -1/2 (pow re 2)) (taylor -inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor -inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor -inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) (taylor -inf re) (#s(alt (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor -inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor -inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor -inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (pow re 2) (taylor -inf re) (#s(alt (*.f64 re re) (patch (*.f64 re re) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 im) (taylor 0 im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* 1/2 im)))) (taylor 0 im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) (taylor 0 im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* 1/2 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt 1/2 (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (+ 1/2 (* 1/24 (pow im 2))) (taylor 0 im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (cos re) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) (taylor 0 im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt 1 (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* 1/2 (pow im 2))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) (taylor 0 im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt 2 (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (pow im 2)) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) (taylor 0 im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 4)) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 2)) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) (taylor inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (neg im))) (taylor inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (exp im) (taylor -inf im) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor -inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor -inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (patch #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 4)) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) (taylor -inf im) (#s(alt (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (pow im 2)) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) (taylor -inf im) (#s(alt (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (patch (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) (taylor -inf im) (#s(alt #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (patch #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/24 (* (pow im 4) (cos re))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) (taylor -inf im) (#s(alt (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) (taylor -inf im) (#s(alt (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (patch (*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (* 1/2 (+ (exp im) (/ 1 (exp im)))) (taylor -inf im) (#s(alt (cosh.f64 im) (patch (cosh.f64 im) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
#s(alt (+ (exp im) (exp (* -1 im))) (taylor -inf im) (#s(alt (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) (patch (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) #<representation binary64>) () ())) ()) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 29.0ms | re | @ | inf | ((* (* 1/2 (cos re)) (+ (exp (neg im)) (pow (exp -1) (neg im)))) (pow (exp -1) (neg im)) (* 1/2 (cos re)) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* -1/2 (* re re)) 1) (+ (exp (neg im)) (pow (exp -1) (neg im))) (exp -1) (* re re)) |
| 9.0ms | re | @ | -inf | ((* (* 1/2 (cos re)) (+ (exp (neg im)) (pow (exp -1) (neg im)))) (pow (exp -1) (neg im)) (* 1/2 (cos re)) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* -1/2 (* re re)) 1) (+ (exp (neg im)) (pow (exp -1) (neg im))) (exp -1) (* re re)) |
| 4.0ms | re | @ | 0 | ((* (* 1/2 (cos re)) (+ (exp (neg im)) (pow (exp -1) (neg im)))) (pow (exp -1) (neg im)) (* 1/2 (cos re)) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* -1/2 (* re re)) 1) (+ (exp (neg im)) (pow (exp -1) (neg im))) (exp -1) (* re re)) |
| 2.0ms | im | @ | inf | ((* (* 1/2 (cos re)) (+ (exp (neg im)) (pow (exp -1) (neg im)))) (pow (exp -1) (neg im)) (* 1/2 (cos re)) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* -1/2 (* re re)) 1) (+ (exp (neg im)) (pow (exp -1) (neg im))) (exp -1) (* re re)) |
| 2.0ms | im | @ | -inf | ((* (* 1/2 (cos re)) (+ (exp (neg im)) (pow (exp -1) (neg im)))) (pow (exp -1) (neg im)) (* 1/2 (cos re)) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* -1/2 (* re re)) 1) (+ (exp (neg im)) (pow (exp -1) (neg im))) (exp -1) (* re re)) |
| 1× | egg-herbie |
| 16 904× | lower-fma.f64 |
| 16 904× | lower-fma.f32 |
| 5 366× | lower-*.f64 |
| 5 366× | lower-*.f32 |
| 3 370× | lower-+.f64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 184 | 3412 |
| 1 | 589 | 3214 |
| 2 | 1790 | 3125 |
| 3 | 4675 | 3052 |
| 4 | 5101 | 3052 |
| 5 | 7297 | 3052 |
| 0 | 8263 | 2824 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
1/2 |
(+ 1/2 (* -1/4 (pow re 2))) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
1 |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* -1/2 (pow re 2))) |
(+ 1 (* -1/2 (pow re 2))) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* -1/2 (pow re 2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(* 1/2 (cos re)) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(cos re) |
(cos re) |
(cos re) |
(cos re) |
(* -1/2 (pow re 2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(pow re 2) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
1 |
(+ 1 im) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
1 |
(+ 1 (* 1/2 (pow im 2))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
1/2 |
(+ 1/2 (* 1/24 (pow im 2))) |
(+ 1/2 (* 1/24 (pow im 2))) |
(+ 1/2 (* 1/24 (pow im 2))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(cos re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
1 |
(+ 1 (* 1/2 (pow im 2))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
2 |
(+ 2 (pow im 2)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/24 (pow im 4)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* 1/24 (pow im 2)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(+ (exp im) (exp (neg im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(exp im) |
(exp im) |
(exp im) |
(exp im) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/24 (pow im 4)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(* 1/24 (pow im 2)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(* 1/24 (* (pow im 4) (cos re))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
(+ (exp im) (exp (* -1 im))) |
| Outputs |
|---|
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* -1/4 (pow re 2))) |
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4))) |
(fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (+ (exp im) (exp (neg im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (+ (* -1/2 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* 1/24 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) |
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/2 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))))) (* 1/24 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))))))) |
(fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) |
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im))))))))) |
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2))) |
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+ 1 (* -1/2 (pow re 2))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* -1/2 (pow re 2)) |
(*.f64 #s(literal -1/2 binary64) (*.f64 re re)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(* 1/2 (cos re)) |
(*.f64 (cos.f64 re) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (cos re) (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(cos re) |
(cos.f64 re) |
(* -1/2 (pow re 2)) |
(*.f64 #s(literal -1/2 binary64) (*.f64 re re)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(* (pow re 2) (- (/ 1 (pow re 2)) 1/2)) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(pow re 2) |
(*.f64 re re) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
1 |
#s(literal 1 binary64) |
(+ 1 im) |
(+.f64 #s(literal 1 binary64) im) |
(+ 1 (* im (+ 1 (* 1/2 im)))) |
(fma.f64 (fma.f64 im #s(literal 1/2 binary64) #s(literal 1 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im)))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
1 |
#s(literal 1 binary64) |
(+ 1 (* 1/2 (pow im 2))) |
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
1/2 |
#s(literal 1/2 binary64) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(+ 1/2 (* 1/24 (pow im 2))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(cos re) |
(cos.f64 re) |
(+ (cos re) (* 1/2 (* (pow im 2) (cos re)))) |
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (cos.f64 re)) |
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re))))))) |
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* 1/2 (pow im 2))) |
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2))))))) |
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
2 |
#s(literal 2 binary64) |
(+ 2 (pow im 2)) |
(fma.f64 im im #s(literal 2 binary64)) |
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64))) |
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2))))))) |
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/24 (pow im 4)) |
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* 1/24 (pow im 2)) |
(*.f64 (*.f64 im im) #s(literal 1/24 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (neg im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(exp im) |
(exp.f64 im) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/24 (pow im 4)) |
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) |
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4))))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(* 1/24 (pow im 2)) |
(*.f64 (*.f64 im im) #s(literal 1/24 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2))))) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/24 (* (pow im 4) (cos re))) |
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2))))) |
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))) |
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im))))) |
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(* 1/2 (+ (exp im) (/ 1 (exp im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
(+ (exp im) (exp (* -1 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 5 146× | lower-fma.f32 |
| 5 140× | lower-fma.f64 |
| 3 680× | lower-*.f32 |
| 3 668× | lower-*.f64 |
| 2 856× | lower-/.f64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 223 |
| 0 | 63 | 223 |
| 1 | 176 | 202 |
| 2 | 1130 | 188 |
| 0 | 8812 | 188 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
(pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)) |
(*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
(cos.f64 re) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
#s(approx (cos re) #s(literal 1 binary64)) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) |
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) |
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(cosh.f64 im) |
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) |
(+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))) |
(exp.f64 #s(literal -1 binary64)) |
(*.f64 re re) |
| Outputs |
|---|
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
#<batchref> |
Compiled 21 317 to 2 061 computations (90.3% saved)
25 alts after pruning (19 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 922 | 10 | 932 |
| Fresh | 2 | 9 | 11 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 4 | 4 |
| Total | 927 | 25 | 952 |
| Status | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal 1 binary64)) im))) | |
| 53.9% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) | |
| ✓ | 75.5% | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| ✓ | 100.0% | (*.f64 (cosh.f64 im) (cos.f64 re)) |
| 14.0% | (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) | |
| 61.7% | (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) | |
| 47.9% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 47.8% | (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 43.3% | (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) | |
| 93.0% | (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re)) | |
| 57.3% | (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) | |
| ✓ | 87.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
| 54.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) | |
| 54.8% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) | |
| 31.4% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) | |
| ✓ | 53.4% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
| ✓ | 52.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
| 52.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) | |
| 52.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) | |
| 52.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) | |
| 27.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) | |
| 35.2% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) | |
| 35.1% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) | |
| 32.0% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) | |
| ✓ | 28.1% | #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
Compiled 923 to 405 computations (56.1% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal 1 binary64)) im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
6 calls:
| 56.0ms | im |
| 13.0ms | (cos.f64 re) |
| 12.0ms | re |
| 11.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 10.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | re |
| 100.0% | 1 | im |
| 100.0% | 1 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 100.0% | 1 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 100.0% | 1 | (cos.f64 re) |
| 100.0% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re)) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
6 calls:
| 26.0ms | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 14.0ms | im |
| 13.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 11.0ms | re |
| 10.0ms | (cos.f64 re) |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.6% | 2 | re |
| 97.7% | 3 | im |
| 99.6% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 95.6% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 95.6% | 2 | (cos.f64 re) |
| 93.0% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
1 calls:
| 9.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 11 to 10 computations (9.1% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(approx (exp im) (+.f64 #s(literal 1 binary64) im)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
1 calls:
| 12.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 11 to 10 computations (9.1% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
1 calls:
| 8.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.2% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 11 to 10 computations (9.1% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))) |
1 calls:
| 21.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.9% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 11 to 10 computations (9.1% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
6 calls:
| 102.0ms | re |
| 7.0ms | im |
| 7.0ms | (cos.f64 re) |
| 7.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 6.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.2% | 2 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 74.0% | 2 | re |
| 77.6% | 4 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 77.6% | 4 | (cos.f64 re) |
| 84.2% | 2 | im |
| 93.7% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
6 calls:
| 16.0ms | im |
| 10.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 7.0ms | re |
| 7.0ms | (cos.f64 re) |
| 6.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 60.1% | 2 | re |
| 69.6% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 69.6% | 3 | (cos.f64 re) |
| 59.2% | 2 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 59.2% | 2 | im |
| 69.1% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64))))))) |
| Outputs |
|---|
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
2 calls:
| 9.0ms | (cos.f64 re) |
| 7.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 69.4% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 69.4% | 3 | (cos.f64 re) |
Compiled 6 to 8 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) |
3 calls:
| 22.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 6.0ms | (cos.f64 re) |
| 5.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 68.9% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 66.8% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 66.8% | 2 | (cos.f64 re) |
Compiled 17 to 18 computations (-5.9% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
3 calls:
| 23.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 6.0ms | (cos.f64 re) |
| 5.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.1% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 67.1% | 3 | (cos.f64 re) |
| 64.5% | 2 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 17 to 18 computations (-5.9% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
2 calls:
| 4.0ms | (cos.f64 re) |
| 4.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.0% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 67.0% | 3 | (cos.f64 re) |
Compiled 6 to 8 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
| Outputs |
|---|
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
2 calls:
| 4.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 4.0ms | (cos.f64 re) |
| Accuracy | Segments | Branch |
|---|---|---|
| 66.4% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 66.4% | 3 | (cos.f64 re) |
Compiled 6 to 8 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
| Outputs |
|---|
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
3 calls:
| 4.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 4.0ms | (cos.f64 re) |
| 4.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 63.8% | 2 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 63.8% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 63.8% | 2 | (cos.f64 re) |
Compiled 17 to 18 computations (-5.9% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) |
6 calls:
| 6.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 3.0ms | im |
| 3.0ms | re |
| 3.0ms | (cos.f64 re) |
| 3.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 52.2% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 55.8% | 3 | im |
| 54.6% | 2 | re |
| 58.9% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 58.9% | 2 | (cos.f64 re) |
| 58.9% | 2 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) |
3 calls:
| 3.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 3.0ms | (cos.f64 re) |
| 3.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 58.9% | 3 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 53.9% | 3 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 53.9% | 3 | (cos.f64 re) |
Compiled 17 to 18 computations (-5.9% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) |
6 calls:
| 2.0ms | re |
| 2.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 2.0ms | im |
| 2.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 2.0ms | (cos.f64 re) |
| Accuracy | Segments | Branch |
|---|---|---|
| 50.0% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 50.0% | 2 | (cos.f64 re) |
| 43.3% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 43.3% | 1 | im |
| 46.0% | 2 | re |
| 50.0% | 2 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 25 to 28 computations (-12% saved)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
6 calls:
| 31.0ms | re |
| 2.0ms | im |
| 2.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 2.0ms | (cos.f64 re) |
| 2.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.9% | 2 | im |
| 33.9% | 2 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 32.0% | 1 | re |
| 34.7% | 2 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 34.7% | 2 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 34.7% | 2 | (cos.f64 re) |
Compiled 25 to 28 computations (-12% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
6 calls:
| 2.0ms | (cos.f64 re) |
| 2.0ms | re |
| 1.0ms | im |
| 1.0ms | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 1.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.1% | 1 | re |
| 28.1% | 1 | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 28.1% | 1 | im |
| 28.1% | 1 | (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) |
| 28.1% | 1 | (cos.f64 re) |
| 28.1% | 1 | (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 25 to 28 computations (-12% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9999999999999948 | 1.0 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9999999999999948 | 1.0 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9999999999999948 | 1.0 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9999999999999948 | 1.0 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9999999999999948 | 1.0 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9998899044367102 | 0.9999999999999948 |
| 0.0ms | -inf | -0.9958753417065146 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9998899044367102 | 0.9999999999993322 |
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9998899044367102 | 0.9999999999993322 |
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9998899044367102 | 0.9999999999999948 |
| 0.0ms | -0.08278909199918143 | 0.012779736908299043 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9902778976879307 | 0.9906069193621905 |
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9902778976879307 | 0.9906069193621905 |
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.9902778976879307 | 0.9906069193621905 |
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.08278909199918143 | 0.012779736908299043 |
Compiled 14 to 15 computations (-7.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.08278909199918143 | 0.0024157074459115802 |
Compiled 14 to 15 computations (-7.1% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.0000000000000002 | 1.0526483926190085e+231 |
| 0.0ms | -0.08278909199918143 | 0.012779736908299043 |
Compiled 14 to 15 computations (-7.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.08278909199918143 | 0.012779736908299043 |
Compiled 14 to 15 computations (-7.1% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.08278909199918143 | 0.012779736908299043 |
Compiled 14 to 15 computations (-7.1% saved)
| 1× | egg-herbie |
| 42× | *-commutative-binary64-*.f64 |
| 4× | +-commutative-binary64-+.f64 |
| 2× | 1-exp-binary32-exp.f32 |
| 2× | 1-exp-binary64-exp.f64 |
| 2× | neg-sub0-binary64--.f64-neg.f64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 137 | 1583 |
| 1 | 164 | 1583 |
| 2 | 166 | 1583 |
| 3 | 167 | 1583 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 2 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
| Outputs |
|---|
(*.f64 (cosh.f64 im) (cos.f64 re)) |
(*.f64 (cos.f64 re) (cosh.f64 im)) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 (*.f64 re re) #s(literal -1/2 binary64)))) (cosh.f64 im)) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 (*.f64 re re) #s(literal -1/2 binary64)))) (cosh.f64 im)) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 (*.f64 re re) #s(literal -1/2 binary64)))) (cosh.f64 im)) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 9007199254740945/9007199254740992 binary64)) (*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 re re))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (cos re) #s(approx (+ (* -1/2 (* re re)) 1) (*.f64 (*.f64 re re) #s(literal -1/2 binary64)))) (cosh.f64 im)) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 9007199254740945/9007199254740992 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))) (*.f64 #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 4503149267407759/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (cos.f64 re) #s(literal 8921630861820953/9007199254740992 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))) |
(if (<=.f64 (cos.f64 re) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 2 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal 2 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (* (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (cos re)) #s(approx (+ (* (+ (* (* im im) 1/24) 1/2) (* im im)) 1) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))) |
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64)))) |
(if (<=.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/2 binary64) (cos.f64 re))) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64)))) |
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64))) |
| 23 172× | lower-fma.f64 |
| 23 172× | lower-fma.f32 |
| 16 904× | lower-fma.f64 |
| 16 904× | lower-fma.f32 |
| 12 768× | lower-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 151 | 2618 |
| 1 | 457 | 2461 |
| 2 | 1244 | 2411 |
| 3 | 3622 | 2326 |
| 4 | 7732 | 2326 |
| 0 | 8235 | 2197 |
| 0 | 184 | 3412 |
| 1 | 589 | 3214 |
| 2 | 1790 | 3125 |
| 3 | 4675 | 3052 |
| 4 | 5101 | 3052 |
| 5 | 7297 | 3052 |
| 0 | 8263 | 2824 |
| 0 | 180 | 2969 |
| 1 | 573 | 2800 |
| 2 | 1768 | 2741 |
| 3 | 4766 | 2682 |
| 4 | 5496 | 2682 |
| 5 | 7524 | 2666 |
| 0 | 8050 | 2481 |
| 0 | 84 | 307 |
| 1 | 200 | 306 |
| 2 | 448 | 302 |
| 3 | 1046 | 302 |
| 4 | 1715 | 302 |
| 5 | 2210 | 302 |
| 6 | 3067 | 302 |
| 7 | 4181 | 302 |
| 8 | 5300 | 302 |
| 9 | 6813 | 302 |
| 10 | 7766 | 302 |
| 0 | 8064 | 274 |
| 0 | 42 | 223 |
| 0 | 63 | 223 |
| 1 | 176 | 202 |
| 2 | 1130 | 188 |
| 0 | 8812 | 188 |
| 0 | 9 | 17 |
| 0 | 15 | 17 |
| 1 | 36 | 15 |
| 2 | 198 | 15 |
| 3 | 1782 | 15 |
| 0 | 8249 | 15 |
| 0 | 30 | 125 |
| 0 | 48 | 123 |
| 1 | 126 | 109 |
| 2 | 664 | 109 |
| 3 | 5519 | 109 |
| 0 | 8100 | 109 |
| 1× | fuel |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
Compiled 1 875 to 1 009 computations (46.2% saved)
(abs re)
(abs im)
Compiled 2 032 to 300 computations (85.2% saved)
Loading profile data...