math.cos on complex, real part

Time bar (total: 8.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample1.6s (18.9%)

Memory
-7.3MiB live, 1 875.1MiB allocated
Samples
1.1s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 883.0ms
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)
Bogosity

explain303.0ms (3.5%)

Memory
-20.6MiB live, 261.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 im)
00-0-(neg.f64 im)
01(3.7506706935489226e-106 -532.6416129294325)0-(exp.f64 (neg.f64 im))
00-0-(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
00-0-(cos.f64 re)
00-0-im
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
00-0-re
00-0-#s(literal 1/2 binary64)
00-0-(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (neg.f64 im))sensitivity10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-100
Precision?
0.0
Recall?
0/0
Samples
146.0ms512×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 130.0ms
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)

preprocess61.0ms (0.7%)

Memory
27.8MiB live, 67.1MiB allocated
Algorithm
egg-herbie
Rules
204×times-frac
194×associate-*r*
174×distribute-lft-neg-in
170×cancel-sign-sub-inv
162×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02557
19155
225855
358755
491055
5119155
6141855
7159155
8164155
9164655
10164655
11164655
01011
01711
13411
27311
310711
412911
515611
617811
718111
818311
918811
1018811
018811
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
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))
Symmetry

(abs im)

(abs re)

Compiler

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify27.0ms (0.3%)

Memory
-26.1MiB live, 18.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 (neg.f64 im))
cost-diff0
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Rules
124×lower-*.f32
120×lower-*.f64
76×lower-fma.f64
76×lower-fma.f32
52×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01033
01733
13433
27333
310733
412933
515633
617833
718133
818333
918833
1018833
018833
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
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)

localize54.0ms (0.6%)

Memory
10.0MiB live, 89.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(exp.f64 (neg.f64 im))
accuracy0
(exp.f64 im)
accuracy0
(cos.f64 re)
accuracy0.00390625
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Samples
46.0ms256×0valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
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)

series3.0ms (0%)

Memory
8.6MiB live, 8.6MiB allocated
Counts
5 → 60
Calls
Call 1
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>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
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))

simplify194.0ms (2.3%)

Memory
-25.9MiB live, 171.5MiB allocated
Algorithm
egg-herbie
Rules
12 768×lower-fma.f64
12 768×lower-fma.f32
4 220×lower-*.f64
4 220×lower-*.f32
2 016×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084307
1200306
2448302
31046302
41715302
52210302
63067302
74181302
85300302
96813302
107766302
08064274
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
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)

rewrite411.0ms (4.8%)

Memory
1.1MiB live, 241.4MiB allocated
Rules
4 400×lower-/.f64
4 400×lower-/.f32
4 092×lower-*.f32
4 090×lower-*.f64
2 902×lower-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0917
01517
13615
219815
3178215
0824915
Stop Event
iter limit
node limit
iter limit
Counts
5 → 205
Calls
Call 1
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>

eval259.0ms (3%)

Memory
26.0MiB live, 64.4MiB allocated
Compiler

Compiled 6 084 to 908 computations (85.1% saved)

prune89.0ms (1%)

Memory
-12.3MiB live, 27.5MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2596265
Fresh000
Picked101
Done000
Total2606266
Accuracy
100.0%
Counts
266 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))
Compiler

Compiled 118 to 114 computations (3.4% saved)

simplify155.0ms (1.8%)

Memory
17.8MiB live, 138.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
cost-diff0
(exp.f64 (neg.f64 im))
cost-diff0
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
cost-diff6400
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
cost-diff0
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff0
(*.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-diff0
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
cost-diff0
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff640
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64)))
Rules
8 452×lower-fma.f32
8 450×lower-fma.f64
2 990×lower-*.f32
2 976×lower-*.f64
2 510×lower-/.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030168
048166
188166
2170164
3291152
4469152
51348152
62570152
75709152
86117152
96206152
106345152
116349152
126349152
136846152
147221152
157670152
08063152
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
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

localize76.0ms (0.9%)

Memory
-10.0MiB live, 147.1MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0
(exp.f64 im)
accuracy0
(cos.f64 re)
accuracy0.00390625
(+.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
accuracy30.179902548873105
#s(approx (exp (neg im)) #s(literal 1 binary64))
accuracy0
(exp.f64 (neg.f64 im))
accuracy0
(exp.f64 im)
accuracy0.00390625
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy30.317455486587914
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0
(*.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))))
accuracy0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
accuracy0
(cos.f64 re)
accuracy15.70497618895339
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy0
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
accuracy0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
accuracy0
(cos.f64 re)
accuracy29.79725388201362
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
accuracy0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
accuracy0
(cos.f64 re)
accuracy0.00390625
(cosh.f64 im)
Samples
60.0ms256×0valid
Compiler

Compiled 147 to 19 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 40.0ms
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)

series22.0ms (0.3%)

Memory
2.5MiB live, 39.5MiB allocated
Counts
17 → 264
Calls
Call 1
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>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
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)))

simplify188.0ms (2.2%)

Memory
18.3MiB live, 255.8MiB allocated
Algorithm
egg-herbie
Rules
23 172×lower-fma.f64
23 172×lower-fma.f32
5 904×lower-+.f64
5 904×lower-+.f32
3 854×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01512618
14572461
212442411
336222326
477322326
082352197
Stop Event
iter limit
node limit
Counts
264 → 264
Calls
Call 1
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))

rewrite183.0ms (2.1%)

Memory
-47.9MiB live, 325.1MiB allocated
Rules
5 048×lower-*.f32
5 034×lower-*.f64
4 622×lower-fma.f32
4 620×lower-fma.f64
2 574×lower-/.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030125
048123
1126109
2664109
35519109
08100109
Stop Event
iter limit
node limit
iter limit
Counts
17 → 587
Calls
Call 1
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>

eval103.0ms (1.2%)

Memory
31.7MiB live, 223.0MiB allocated
Compiler

Compiled 16 910 to 1 743 computations (89.7% saved)

prune32.0ms (0.4%)

Memory
10.1MiB live, 92.6MiB allocated
Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New94315958
Fresh011
Picked415
Done000
Total94717964
Accuracy
100.0%
Counts
964 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
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))
Compiler

Compiled 414 to 343 computations (17.1% saved)

simplify284.0ms (3.3%)

Memory
-32.5MiB live, 132.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
cost-diff0
(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-diff0
(*.f64 (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-diff0
#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-diff0
(cos.f64 re)
cost-diff0
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re))
cost-diff0
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))
cost-diff0
(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-diff0
#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-diff0
(*.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-diff0
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
cost-diff0
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
cost-diff0
(cos.f64 re)
cost-diff0
(cosh.f64 im)
cost-diff0
(*.f64 (cosh.f64 im) (cos.f64 re))
Rules
4 552×lower-fma.f32
4 544×lower-fma.f64
2 340×lower-*.f32
2 328×lower-*.f64
1 134×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032200
048200
187200
2162200
3324188
4640188
5898188
61034188
71242188
81283188
91481188
101589188
111717188
122142188
133229188
144144188
154760188
165025188
175394188
185824188
196483188
206701188
216856188
227002188
237004188
247004188
257004188
267004188
07004188
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
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

localize77.0ms (0.9%)

Memory
11.0MiB live, 128.6MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.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))
accuracy0.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))
accuracy0.1015625
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy7.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)))
accuracy0
(cos.f64 re)
accuracy29.80490500168285
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (cos.f64 re))
accuracy0.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))
accuracy0.1015625
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))
accuracy29.79725388201362
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy33.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)))
accuracy0
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
accuracy29.79725388201362
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy30.317455486587914
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0
(*.f64 (cosh.f64 im) (cos.f64 re))
accuracy0
(cos.f64 re)
accuracy0.00390625
(cosh.f64 im)
Samples
56.0ms256×0valid
Compiler

Compiled 156 to 30 computations (80.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 40.0ms
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)

series22.0ms (0.3%)

Memory
-2.3MiB live, 36.3MiB allocated
Counts
15 → 252
Calls
Call 1
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>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
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))

simplify150.0ms (1.7%)

Memory
33.8MiB live, 185.4MiB allocated
Algorithm
egg-herbie
Rules
10 542×lower-fma.f64
10 542×lower-fma.f32
4 420×lower-*.f64
4 420×lower-*.f32
3 012×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01802969
15732800
217682741
347662682
454962682
575242666
080502481
Stop Event
iter limit
node limit
Counts
252 → 252
Calls
Call 1
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))

rewrite163.0ms (1.9%)

Memory
7.6MiB live, 201.3MiB allocated
Rules
9 606×lower-fma.f32
9 598×lower-fma.f64
6 180×lower-*.f32
6 168×lower-*.f64
3 326×lower-/.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
032167
048167
1152149
2963149
08622149
Stop Event
iter limit
node limit
iter limit
Counts
15 → 420
Calls
Call 1
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>

eval127.0ms (1.5%)

Memory
-19.2MiB live, 178.6MiB allocated
Compiler

Compiled 15 121 to 1 876 computations (87.6% saved)

prune31.0ms (0.4%)

Memory
-1.9MiB live, 85.2MiB allocated
Pruning

20 alts after pruning (16 fresh and 4 done)

PrunedKeptTotal
New70411715
Fresh6511
Picked235
Done011
Total71220732
Accuracy
100.0%
Counts
732 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))
Compiler

Compiled 493 to 377 computations (23.5% saved)

simplify236.0ms (2.7%)

Memory
11.7MiB live, 129.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
cost-diff0
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))
cost-diff0
(cosh.f64 im)
cost-diff0
(*.f64 (cosh.f64 im) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))))
cost-diff0
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
cost-diff0
(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-diff0
(*.f64 (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-diff0
#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-diff0
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
cost-diff0
(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-diff0
#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-diff0
#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-diff0
#s(approx (cos re) #s(literal 1 binary64))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64)))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff6592
(pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))
cost-diff7040
(*.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))))
Rules
7 368×lower-fma.f32
7 362×lower-fma.f64
3 754×lower-*.f32
3 742×lower-*.f64
1 198×distribute-lft-neg-in
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
042288
063288
1105288
2201288
3385288
4908288
51408270
61622270
71961270
82074270
92437270
102539270
112674270
122933255
133730255
145242255
156054255
166285255
176668255
187080255
197430255
207928255
08003255
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
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)

localize90.0ms (1%)

Memory
-27.6MiB live, 128.9MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 re re)
accuracy0.00390625
(cosh.f64 im)
accuracy0.006191259768442017
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
accuracy32.72833146803832
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))
accuracy0.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))
accuracy0.1015625
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy7.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)))))
accuracy32.72833146803832
#s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))
accuracy0.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))
accuracy0.1015625
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy7.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))))
accuracy26.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)))
accuracy29.80490500168285
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (cos re) #s(literal 1 binary64)))
accuracy30.31786349289968
#s(approx (cos re) #s(literal 1 binary64))
accuracy0
(exp.f64 #s(literal -1 binary64))
accuracy0
(cos.f64 re)
accuracy0.00390625
(+.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im)))
accuracy0.030446936977930102
(pow.f64 (exp.f64 #s(literal -1 binary64)) (neg.f64 im))
Samples
65.0ms256×0valid
Compiler

Compiled 206 to 31 computations (85% saved)

Precisions
Click to see histograms. Total time spent on operations: 46.0ms
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)

series60.0ms (0.7%)

Memory
6.3MiB live, 82.0MiB allocated
Counts
19 → 300
Calls
Call 1
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>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
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))

simplify179.0ms (2.1%)

Memory
33.0MiB live, 190.3MiB allocated
Algorithm
egg-herbie
Rules
16 904×lower-fma.f64
16 904×lower-fma.f32
5 366×lower-*.f64
5 366×lower-*.f32
3 370×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01843412
15893214
217903125
346753052
451013052
572973052
082632824
Stop Event
iter limit
node limit
Counts
300 → 300
Calls
Call 1
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))

rewrite144.0ms (1.7%)

Memory
-23.0MiB live, 170.6MiB allocated
Rules
5 146×lower-fma.f32
5 140×lower-fma.f64
3 680×lower-*.f32
3 668×lower-*.f64
2 856×lower-/.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042223
063223
1176202
21130188
08812188
Stop Event
iter limit
node limit
iter limit
Counts
19 → 407
Calls
Call 1
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>

eval225.0ms (2.6%)

Memory
-1.6MiB live, 198.5MiB allocated
Compiler

Compiled 21 317 to 2 061 computations (90.3% saved)

prune39.0ms (0.4%)

Memory
19.1MiB live, 95.3MiB allocated
Pruning

25 alts after pruning (19 fresh and 6 done)

PrunedKeptTotal
New92210932
Fresh2911
Picked325
Done044
Total92725952
Accuracy
100.0%
Counts
952 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))
Compiler

Compiled 923 to 405 computations (56.1% saved)

regimes115.0ms (1.3%)

Memory
-14.3MiB live, 88.0MiB allocated
Counts
43 → 1
Calls
Call 1
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))
Calls

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)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
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))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes90.0ms (1%)

Memory
-18.3MiB live, 137.1MiB allocated
Counts
36 → 3
Calls
Call 1
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)))
Calls

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)
Results
AccuracySegmentsBranch
95.6%2re
97.7%3im
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))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes11.0ms (0.1%)

Memory
19.9MiB live, 19.9MiB allocated
Counts
34 → 3
Calls
Call 1
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)))
Calls

1 calls:

9.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.5%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes13.0ms (0.2%)

Memory
-9.0MiB live, 28.6MiB allocated
Counts
33 → 3
Calls
Call 1
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)))
Calls

1 calls:

12.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.5%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes10.0ms (0.1%)

Memory
22.8MiB live, 22.8MiB allocated
Counts
30 → 3
Calls
Call 1
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)))
Calls

1 calls:

8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.2%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes22.0ms (0.3%)

Memory
-24.9MiB live, 13.4MiB allocated
Counts
28 → 3
Calls
Call 1
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)))
Calls

1 calls:

21.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
98.9%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes137.0ms (1.6%)

Memory
17.6MiB live, 56.5MiB allocated
Counts
24 → 3
Calls
Call 1
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)))))
Calls

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)))
Results
AccuracySegmentsBranch
84.2%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
74.0%2re
77.6%4(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
77.6%4(cos.f64 re)
84.2%2im
93.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes54.0ms (0.6%)

Memory
-0.5MiB live, 80.7MiB allocated
Counts
23 → 3
Calls
Call 1
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))))
Calls

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)))
Results
AccuracySegmentsBranch
60.1%2re
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%2im
69.1%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes17.0ms (0.2%)

Memory
4.6MiB live, 40.8MiB allocated
Counts
22 → 3
Calls
Call 1
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))))
Calls

2 calls:

9.0ms
(cos.f64 re)
7.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Results
AccuracySegmentsBranch
69.4%3(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
69.4%3(cos.f64 re)
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes35.0ms (0.4%)

Memory
-5.9MiB live, 32.2MiB allocated
Counts
20 → 3
Calls
Call 1
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)))))
Calls

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)))
Results
AccuracySegmentsBranch
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)
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes35.0ms (0.4%)

Memory
-10.9MiB live, 38.5MiB allocated
Counts
19 → 3
Calls
Call 1
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))))
Calls

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)))
Results
AccuracySegmentsBranch
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)))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes10.0ms (0.1%)

Memory
16.9MiB live, 16.9MiB allocated
Counts
14 → 3
Calls
Call 1
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))))
Calls

2 calls:

4.0ms
(cos.f64 re)
4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Results
AccuracySegmentsBranch
67.0%3(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
67.0%3(cos.f64 re)
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes11.0ms (0.1%)

Memory
-20.5MiB live, 17.4MiB allocated
Counts
13 → 3
Calls
Call 1
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))))
Calls

2 calls:

4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
66.4%3(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
66.4%3(cos.f64 re)
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes13.0ms (0.1%)

Memory
25.8MiB live, 25.8MiB allocated
Counts
12 → 2
Calls
Call 1
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))))
Calls

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)))
Results
AccuracySegmentsBranch
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)
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes23.0ms (0.3%)

Memory
-1.4MiB live, 35.8MiB allocated
Counts
9 → 2
Calls
Call 1
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))))
Calls

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))
Results
AccuracySegmentsBranch
52.2%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
55.8%3im
54.6%2re
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)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes79.0ms (0.9%)

Memory
-19.3MiB live, 17.3MiB allocated
Counts
7 → 3
Calls
Call 1
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))))
Calls

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)))
Results
AccuracySegmentsBranch
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)
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes14.0ms (0.2%)

Memory
23.0MiB live, 23.0MiB allocated
Counts
5 → 2
Calls
Call 1
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))))
Calls

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)
Results
AccuracySegmentsBranch
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%1im
46.0%2re
50.0%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes41.0ms (0.5%)

Memory
-37.0MiB live, 14.8MiB allocated
Counts
3 → 2
Calls
Call 1
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)))
Calls

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)))
Results
AccuracySegmentsBranch
33.9%2im
33.9%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
32.0%1re
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)
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes10.0ms (0.1%)

Memory
11.7MiB live, 11.7MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
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)))
Calls

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)))
Results
AccuracySegmentsBranch
28.1%1re
28.1%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
28.1%1im
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)))
Compiler

Compiled 25 to 28 computations (-12% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999948
1.0
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999948
1.0
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999948
1.0
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999948
1.0
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999948
1.0
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9998899044367102
0.9999999999999948
0.0ms
-inf
-0.9958753417065146
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9998899044367102
0.9999999999993322
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9998899044367102
0.9999999999993322
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9998899044367102
0.9999999999999948
0.0ms
-0.08278909199918143
0.012779736908299043
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9902778976879307
0.9906069193621905
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9902778976879307
0.9906069193621905
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9902778976879307
0.9906069193621905
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.08278909199918143
0.012779736908299043
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.08278909199918143
0.0024157074459115802
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000000000002
1.0526483926190085e+231
0.0ms
-0.08278909199918143
0.012779736908299043
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.08278909199918143
0.012779736908299043
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.08278909199918143
0.012779736908299043
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify58.0ms (0.7%)

Memory
0.7MiB live, 77.4MiB allocated
Algorithm
egg-herbie
Rules
42×*-commutative-binary64-*.f64
+-commutative-binary64-+.f64
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
neg-sub0-binary64--.f64-neg.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01371583
11641583
21661583
31671583
Stop Event
saturated
Calls
Call 1
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)))

soundness2.0s (23.5%)

Memory
-2.7MiB live, 1 382.4MiB allocated
Rules
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
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01512618
14572461
212442411
336222326
477322326
082352197
01843412
15893214
217903125
346753052
451013052
572973052
082632824
01802969
15732800
217682741
347662682
454962682
575242666
080502481
084307
1200306
2448302
31046302
41715302
52210302
63067302
74181302
85300302
96813302
107766302
08064274
042223
063223
1176202
21130188
08812188
0917
01517
13615
219815
3178215
0824915
030125
048123
1126109
2664109
35519109
08100109
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 1 875 to 1 009 computations (46.2% saved)

preprocess170.0ms (2%)

Memory
31.1MiB live, 224.6MiB allocated
Remove

(abs re)

(abs im)

Compiler

Compiled 2 032 to 300 computations (85.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...