math.sin on complex, imaginary part

Time bar (total: 9.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
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 14 to 13 computations (7.1% saved)

sample2.4s (25.5%)

Memory
90.8MiB live, 3 261.1MiB allocated; 536ms collecting garbage
Samples
1.0s1 674×2valid
646.0ms2 375×1valid
395.0ms4 207×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.8s
ival-exp: 972.0ms (55.2% of total)
ival-mult: 232.0ms (13.2% of total)
ival-cos: 207.0ms (11.7% of total)
adjust: 194.0ms (11% of total)
ival-sub: 137.0ms (7.8% of total)
exact: 10.0ms (0.6% of total)
ival-true: 6.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain280.0ms (2.9%)

Memory
-12.2MiB live, 232.4MiB allocated; 17ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1300-0-(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
00-0-(exp.f64 im)
00-0-#s(literal 0 binary64)
00-0-(cos.f64 re)
00-0-im
00-0-(-.f64 #s(literal 0 binary64) im)
00-0-re
00-0-(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
00-0-#s(literal 1/2 binary64)
00-0-(exp.f64 (-.f64 #s(literal 0 binary64) im))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))cancellation1300
Confusion
Predicted +Predicted -
+1300
-0126
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13000
-00126
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0126
1130
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
102.0ms114×2valid
65.0ms256×0valid
29.0ms142×1valid
Compiler

Compiled 92 to 37 computations (59.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 157.0ms
ival-exp: 70.0ms (44.5% of total)
adjust: 35.0ms (22.2% of total)
ival-sub: 32.0ms (20.3% of total)
ival-cos: 11.0ms (7% of total)
ival-mult: 8.0ms (5.1% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess157.0ms (1.7%)

Memory
2.3MiB live, 138.5MiB allocated; 18ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02959
19555
222155
366055
4355328
01112
01811
13811
27311
320611
48786
092776
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) (cos.f64 re))
Symmetry

(abs re)

(negabs im)

Compiler

Compiled 12 to 11 computations (8.3% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

simplify144.0ms (1.5%)

Memory
-10.9MiB live, 174.5MiB allocated; 29ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff1
(-.f64 #s(literal 0 binary64) im)
cost-diff1
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
cost-diff4
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01138
01834
13834
27334
320634
487828
0927728
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 (-.f64 #s(literal 0 binary64) 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 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(-.f64 #s(literal 0 binary64) im)
#s(literal 0 binary64)
im
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (sinh.f64 (neg.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 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(exp.f64 (neg.f64 im))
(-.f64 #s(literal 0 binary64) im)
(neg.f64 im)
#s(literal 0 binary64)
im
(exp.f64 im)

localize157.0ms (1.7%)

Memory
27.9MiB live, 154.2MiB allocated; 66ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.00390625
(cos.f64 re)
accuracy0.078125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
accuracy29.642031665744067
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Samples
67.0ms71×1valid
36.0ms57×2valid
11.0ms128×0valid
Compiler

Compiled 40 to 13 computations (67.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 61.0ms
ival-exp: 33.0ms (53.7% of total)
adjust: 15.0ms (24.4% of total)
ival-cos: 6.0ms (9.8% of total)
ival-mult: 4.0ms (6.5% of total)
ival-sub: 3.0ms (4.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.1%)

Memory
15.3MiB live, 15.3MiB allocated; 0ms collecting garbage
Counts
6 → 31
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(-.f64 #s(literal 0 binary64) im)
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(exp.f64 im)
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
im
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
re
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
im
@-inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
re
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))

simplify257.0ms (2.7%)

Memory
-21.0MiB live, 319.5MiB allocated; 79ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126381
1387349
21339342
34642321
08097294
Stop Event
iter limit
node limit
Counts
31 → 31
Calls
Call 1
Inputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(*.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)) (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #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 (-.f64 (*.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 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64) (-.f64 (*.f64 #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 (-.f64 (*.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 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 re re)) #s(literal 1/2 binary64))) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 (* (cos re) (- (exp (neg im)) (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))
(cos re)
(cos.f64 re)
(* -1 (* im (cos re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* -1 im)
(neg.f64 im)
(+ 1 im)
(+.f64 #s(literal 1 binary64) im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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 (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp im)
(exp.f64 im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite155.0ms (1.6%)

Memory
-28.3MiB live, 130.5MiB allocated; 121ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
01827
16427
044527
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
6 → 41
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(-.f64 #s(literal 0 binary64) im)
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(exp.f64 im)
Outputs
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 im (neg.f64 im))) (neg.f64 im))
(/.f64 (neg.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64)))) (*.f64 im (neg.f64 im)))
(/.f64 (*.f64 im (neg.f64 im)) im)
(/.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 im im))
(neg.f64 im)
(-.f64 (/.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 im im) im))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 im im)))
(-.f64 #s(literal 0 binary64) im)
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval9.0ms (0.1%)

Memory
15.3MiB live, 15.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 424 to 304 computations (78.7% saved)

prune17.0ms (0.2%)

Memory
-32.4MiB live, 21.3MiB allocated; 9ms collecting garbage
Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New591170
Fresh000
Picked101
Done000
Total601171
Accuracy
99.9%
Counts
71 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
4.8%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.7%
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
90.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
87.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
82.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
38.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
40.8%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
90.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
53.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
87.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
82.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
Compiler

Compiled 528 to 416 computations (21.2% saved)

simplify131.0ms (1.4%)

Memory
7.2MiB live, 240.7MiB allocated; 23ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 re re)
cost-diff0
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
cost-diff0
(*.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)))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
cost-diff0
(exp.f64 (neg.f64 im))
cost-diff0
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
cost-diff0
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
(cos.f64 re)
cost-diff0
(neg.f64 (cos.f64 re))
cost-diff0
(*.f64 (neg.f64 (cos.f64 re)) im)
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
cost-diff1
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050361
080355
1160355
2410355
31385355
45191355
08181353
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(cos.f64 re)
re
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
(pow.f64 im #s(literal 4 binary64))
#s(literal 4 binary64)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.f64 (neg.f64 (cos.f64 re)) im)
(neg.f64 (cos.f64 re))
(cos.f64 re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #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)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
(*.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)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/4 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)
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 (fma.f64 (pow.f64 im #s(literal 5 binary64)) (fma.f64 #s(literal 1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) im))) (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 (fma.f64 (pow.f64 im #s(literal 5 binary64)) (fma.f64 #s(literal 1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) im))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/120 binary64) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) (cos.f64 re))
(cos.f64 re)
re
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/120 binary64) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
(pow.f64 im #s(literal 4 binary64))
#s(literal 4 binary64)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 im) (cos.f64 re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 (cos.f64 re))
(cos.f64 re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #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)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 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)))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/4 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)

localize251.0ms (2.6%)

Memory
31.2MiB live, 449.8MiB allocated; 50ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.1995501190361984
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
accuracy3.739802809981926
(*.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)))
accuracy25.23729350774795
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
accuracy29.642031665744067
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy22.978501325576296
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
accuracy29.642031665744067
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.0546875
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
accuracy0.078125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.1328125
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy7.88147202335278
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy0.0
(neg.f64 (cos.f64 re))
accuracy0.00390625
(cos.f64 re)
accuracy0.14453125
(*.f64 (neg.f64 (cos.f64 re)) im)
accuracy29.996211748348372
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
accuracy0.078125
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
accuracy0.09765625
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
accuracy0.34375
(*.f64 #s(literal -1/6 binary64) im)
accuracy5.911113636188964
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
Samples
95.0ms57×2valid
63.0ms128×0valid
57.0ms71×1valid
Compiler

Compiled 297 to 48 computations (83.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 181.0ms
ival-exp: 46.0ms (25.4% of total)
ival-mult: 38.0ms (21% of total)
const: 36.0ms (19.9% of total)
adjust: 28.0ms (15.5% of total)
ival-add: 11.0ms (6.1% of total)
ival-cos: 9.0ms (5% of total)
ival-sub: 7.0ms (3.9% of total)
ival-pow: 3.0ms (1.7% of total)
ival-neg: 2.0ms (1.1% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series54.0ms (0.6%)

Memory
17.9MiB live, 76.9MiB allocated; 19ms collecting garbage
Counts
23 → 94
Calls
Call 1
Inputs
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(cos.f64 re)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.f64 (neg.f64 (cos.f64 re)) im)
(neg.f64 (cos.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (neg.f64 im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
(*.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)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
(*.f64 #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(exp.f64 im)
Outputs
(* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(+ (* -1/2 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* (pow re 2) (+ (* -1/720 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* 1/24 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))))
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)
(- (+ (* -1/2 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)))) 1)
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* 1/24 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))) 1)
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))) 1)
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 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
-1
(- (* 1/2 (pow re 2)) 1)
(- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1)
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
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)))
(pow re 2)
(* im (* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(cos re)
(* -1 (* im (cos re)))
(* -1 (cos re))
(* 1/2 (cos re))
(* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im))))
(* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/2 (/ (- (exp (neg im)) (exp im)) (pow re 2)))))
(* -1/4 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re))))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re))))))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(* -2 (* im (+ 1/2 (* -1/4 (pow re 2)))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/3 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/60 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/60 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/2520 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))))
(* -1/6 im)
(- (* -1/6 (pow im 2)) 1)
(* -1/60 (pow im 2))
-2
(- (* -1/3 (pow im 2)) 2)
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(* -1/5040 (* (pow im 7) (cos re)))
(* (pow im 7) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(* (pow im 7) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(* (pow im 7) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(* -1/5040 (* (pow im 6) (cos re)))
(* (pow im 6) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(* (pow im 6) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(* (pow im 6) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(- (exp (neg im)) (exp im))
(exp (neg im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (neg im)) (exp im)))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/60 (pow im 4))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp im)
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (* 1/120 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (* 1/6 (/ (cos re) (pow im 4)))))))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (+ (* 1/6 (/ (cos re) (pow im 4))) (/ (cos re) (pow im 6)))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (* -1 im)) (exp im)))
Calls

6 calls:

TimeVariablePointExpression
23.0ms
im
@inf
((* (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (cos re) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/6 im) (+ (* (* -1/6 im) im) -1) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp im))
15.0ms
im
@0
((* (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (cos re) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/6 im) (+ (* (* -1/6 im) im) -1) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp im))
4.0ms
re
@0
((* (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (cos re) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/6 im) (+ (* (* -1/6 im) im) -1) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp im))
4.0ms
re
@inf
((* (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (cos re) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/6 im) (+ (* (* -1/6 im) im) -1) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp im))
4.0ms
im
@-inf
((* (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (cos re) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/6 im) (+ (* (* -1/6 im) im) -1) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp im))

simplify217.0ms (2.3%)

Memory
-13.7MiB live, 257.1MiB allocated; 71ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03101712
110581565
247041552
084171387
Stop Event
iter limit
node limit
Counts
94 → 94
Calls
Call 1
Inputs
(* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(+ (* -1/2 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* (pow re 2) (+ (* -1/720 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* 1/24 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))))
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)
(- (+ (* -1/2 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)))) 1)
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* 1/24 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))) 1)
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))) 1)
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 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
-1
(- (* 1/2 (pow re 2)) 1)
(- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1)
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
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)))
(pow re 2)
(* im (* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(cos re)
(* -1 (* im (cos re)))
(* -1 (cos re))
(* 1/2 (cos re))
(* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im))))
(* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/2 (/ (- (exp (neg im)) (exp im)) (pow re 2)))))
(* -1/4 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re))))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re))))))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(* -2 (* im (+ 1/2 (* -1/4 (pow re 2)))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/3 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/60 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/60 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/2520 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))))
(* -1/6 im)
(- (* -1/6 (pow im 2)) 1)
(* -1/60 (pow im 2))
-2
(- (* -1/3 (pow im 2)) 2)
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(* -1/5040 (* (pow im 7) (cos re)))
(* (pow im 7) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(* (pow im 7) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(* (pow im 7) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(* -1/5040 (* (pow im 6) (cos re)))
(* (pow im 6) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(* (pow im 6) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(* (pow im 6) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(- (exp (neg im)) (exp im))
(exp (neg im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (neg im)) (exp im)))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/60 (pow im 4))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp im)
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (* 1/120 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (* 1/6 (/ (cos re) (pow im 4)))))))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (+ (* 1/6 (/ (cos re) (pow im 4))) (/ (cos re) (pow im 6)))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (* -1 im)) (exp im)))
Outputs
(* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) im)
(+ (* -1/2 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) im))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal 1/24 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))) (*.f64 re re) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) im))
(+ (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/2 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* (pow re 2) (+ (* -1/720 (* im (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))) (* 1/24 (* im (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) im) (*.f64 (*.f64 re re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)))) (*.f64 (*.f64 #s(literal 1/24 binary64) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))) (*.f64 re re))) (*.f64 re re) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) im))
(* 1/2 (- (exp (neg im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)))))
(- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)))
(- (+ (* -1/2 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)))) 1)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* 1/24 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))))))) 1)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
(- (+ (* -1/6 (pow im 2)) (+ (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120)) (* (pow re 2) (+ (* -1/2 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))) (* 1/24 (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))))))) 1)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)))) (*.f64 re re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/2 binary64) #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 im)
(neg.f64 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im)
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(fma.f64 (*.f64 #s(literal -1/24 binary64) im) (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im))))
-1
#s(literal -1 binary64)
(- (* 1/2 (pow re 2)) 1)
(fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))
(- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1)
(fma.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64))
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
(fma.f64 (fma.f64 (-.f64 (*.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
#s(literal 1/2 binary64)
(+ 1/2 (* -1/4 (pow re 2)))
(fma.f64 #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 (-.f64 (*.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 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(pow re 2)
(*.f64 re re)
(* im (* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1)))
(*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(* (cos re) (- (+ (* -1/6 (pow im 2)) (* (pow im 4) (- (* -1/5040 (pow im 2)) 1/120))) 1))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (cos.f64 re))
(cos re)
(cos.f64 re)
(* -1 (* im (cos re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(* -1 (cos re))
(neg.f64 (cos.f64 re))
(* 1/2 (cos re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/2 (/ (- (exp (neg im)) (exp im)) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re re))
(* -1/4 (pow re 2))
(*.f64 #s(literal -1/4 binary64) (*.f64 re re))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re)
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(*.f64 (fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (cos.f64 re))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(*.f64 (fma.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (pow.f64 im #s(literal 4 binary64)))) im)
(+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re))))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re))))))
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (cos.f64 re)))
(+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re))))))))
(fma.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (pow.f64 im #s(literal 4 binary64))))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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))
(* -2 (* im (+ 1/2 (* -1/4 (pow re 2)))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im)
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/3 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/60 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/60 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/2520 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))) (pow.f64 im #s(literal 4 binary64)))) im)
(* -1/6 im)
(*.f64 #s(literal -1/6 binary64) im)
(- (* -1/6 (pow im 2)) 1)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
-2
#s(literal -2 binary64)
(- (* -1/3 (pow im 2)) 2)
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
(fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(+ 1 im)
(+.f64 #s(literal 1 binary64) im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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/5040 (* (pow im 7) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)) (cos.f64 re))
(* (pow im 7) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re))) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(*.f64 (fma.f64 (cos.f64 re) (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re)))) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(*.f64 (fma.f64 (cos.f64 re) (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (cos.f64 re) (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re))))) (pow.f64 im #s(literal 7 binary64)))
(* -1/5040 (* (pow im 6) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64)) (cos.f64 re))
(* (pow im 6) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re))))
(* (pow im 6) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re)))))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (cos.f64 re) (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re)))))
(* (pow im 6) (+ (* -1 (/ (cos re) (pow im 6))) (+ (* -1/6 (/ (cos re) (pow im 4))) (+ (* -1/120 (/ (cos re) (pow im 2))) (* -1/5040 (cos re))))))
(*.f64 (fma.f64 (cos.f64 re) (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (cos.f64 re) (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re))))) (pow.f64 im #s(literal 6 binary64)))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp (neg im))
(exp.f64 (neg.f64 im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (neg im)) (exp im)))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* -1/6 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/6 binary64))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(* -1/60 (pow im 4))
(*.f64 #s(literal -1/60 binary64) (pow.f64 im #s(literal 4 binary64)))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))
(exp im)
(exp.f64 im)
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (* 1/120 (/ (cos re) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/120 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/5040 binary64) (cos.f64 re))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (* 1/6 (/ (cos re) (pow im 4)))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 7 binary64))) (fma.f64 #s(literal 1/5040 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal 1/120 binary64) im) (/.f64 (cos.f64 re) im) (/.f64 (*.f64 #s(literal 1/6 binary64) (cos.f64 re)) (pow.f64 im #s(literal 4 binary64))))))
(* -1 (* (pow im 7) (+ (* 1/5040 (cos re)) (+ (* 1/120 (/ (cos re) (pow im 2))) (+ (* 1/6 (/ (cos re) (pow im 4))) (/ (cos re) (pow im 6)))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 7 binary64))) (fma.f64 #s(literal 1/5040 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal 1/120 binary64) im) (/.f64 (cos.f64 re) im) (fma.f64 (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/6 binary64) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 6 binary64)))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(exp (* -1 im))
(exp.f64 (neg.f64 im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (* -1 im)) (exp im)))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite143.0ms (1.5%)

Memory
18.0MiB live, 123.0MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050269
080263
1284263
01979263
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
23 → 213
Calls
Call 1
Inputs
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(cos.f64 re)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.f64 (neg.f64 (cos.f64 re)) im)
(neg.f64 (cos.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (neg.f64 im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
(*.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)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
(*.f64 #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(exp.f64 im)
Outputs
(*.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) im) (cos.f64 re))
(*.f64 (*.f64 im (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(*.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) (cos.f64 re)) im)
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) im))
(fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) im (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) im))
(fma.f64 im (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 im (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) im) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re))) (*.f64 im (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 im (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) #s(literal 2 binary64))) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 2 binary64))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) #s(literal 2 binary64)))) (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))))))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)))) (cos.f64 re) (*.f64 #s(literal -1 binary64) (cos.f64 re)))
(fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)))) (*.f64 (cos.f64 re) #s(literal -1 binary64)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(+.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)))) (cos.f64 re)) (*.f64 #s(literal -1 binary64) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))))) (*.f64 (cos.f64 re) #s(literal -1 binary64)))
(+.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (cos.f64 re)))
(neg.f64 (cos.f64 re))
(sin.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (PI.f64) re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (PI.f64) re)))
(cos.f64 (+.f64 (neg.f64 re) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (PI.f64) re))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (cos.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) #s(literal 1/2 binary64)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(-.f64 (cosh.f64 im) (+.f64 (sinh.f64 im) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (exp.f64 im)))
(pow.f64 (exp.f64 im) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 im))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))) (-.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (fma.f64 (sinh.f64 im) (sinh.f64 im) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im))))))
(/.f64 #s(literal 1 binary64) (exp.f64 im))
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)))
(-.f64 (cosh.f64 im) (sinh.f64 im))
(exp.f64 (neg.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (*.f64 (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (*.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (*.f64 (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))))
(fma.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))))
(+.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(/.f64 (fma.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))))
(fma.f64 (*.f64 #s(literal -1/4 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/4 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/4 binary64) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 #s(literal -1/4 binary64) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/4 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) (*.f64 #s(literal -1/4 binary64) re)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (/.f64 #s(literal 1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(+.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 re re)))
(*.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)))
(*.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)))
(*.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (fabs.f64 re) #s(literal 2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(neg.f64 (*.f64 re (neg.f64 re)))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(*.f64 #s(literal -1/6 binary64) im)
(*.f64 im #s(literal -1/6 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) im) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/36 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64)))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) (*.f64 im #s(literal -2 binary64))))))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #s(literal -2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) #s(literal -2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) #s(literal -2 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im)) im))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) (*.f64 im im)))
(-.f64 #s(literal -2 binary64) (*.f64 (*.f64 im (neg.f64 im)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -8 binary64) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval46.0ms (0.5%)

Memory
5.9MiB live, 96.5MiB allocated; 12ms collecting garbage
Compiler

Compiled 13 200 to 1 522 computations (88.5% saved)

prune40.0ms (0.4%)

Memory
-24.3MiB live, 75.7MiB allocated; 18ms collecting garbage
Pruning

28 alts after pruning (26 fresh and 2 done)

PrunedKeptTotal
New33622358
Fresh246
Picked325
Done000
Total34128369
Accuracy
99.9%
Counts
369 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
4.8%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.7%
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
90.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
87.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
82.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
48.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
53.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
54.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
53.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
38.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
55.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))) im))
53.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))))) im))
52.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64)))) im))
40.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
90.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
53.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
36.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
28.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
87.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
82.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
38.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
54.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
51.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
53.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))))
50.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
29.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 1 978 to 1 295 computations (34.5% saved)

simplify198.0ms (2.1%)

Memory
3.0MiB live, 240.5MiB allocated; 59ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
cost-diff0
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
cost-diff0
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
cost-diff0
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
cost-diff0
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
cost-diff1
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
cost-diff0
(neg.f64 im)
cost-diff0
#s(approx (* (neg (cos re)) im) (neg.f64 im))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
cost-diff0
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057431
088425
1168425
2452425
31886422
46798422
08537422
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
im
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(-.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(exp.f64 im)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(cos.f64 re)
re
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 im im)
im
#s(literal -1/6 binary64)
(pow.f64 im #s(literal 3 binary64))
#s(literal 3 binary64)
(neg.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
im
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(-.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(exp.f64 im)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im)) (cos.f64 re))
(cos.f64 re)
re
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 im im)
im
#s(literal -1/6 binary64)
(pow.f64 im #s(literal 3 binary64))
#s(literal 3 binary64)
(neg.f64 im)

localize320.0ms (3.4%)

Memory
36.1MiB live, 648.7MiB allocated; 66ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.046875
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
accuracy0.08203125
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
accuracy0.09765625
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
accuracy7.882311369875151
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
accuracy0.0
(exp.f64 im)
accuracy22.978501325576296
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
accuracy29.642031665744067
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
accuracy30.946241248671218
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
accuracy0.046875
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
accuracy0.05078125
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
accuracy5.9106785348651565
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
accuracy22.978501325576296
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
accuracy0.0
(neg.f64 im)
accuracy29.996211748348372
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
accuracy30.06706581436924
#s(approx (* (neg (cos re)) im) (neg.f64 im))
accuracy0.046875
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
accuracy0.078125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.1171875
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy5.909869102585359
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
Samples
110.0ms57×2valid
68.0ms71×1valid
60.0ms128×0valid
Compiler

Compiled 312 to 51 computations (83.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 202.0ms
adjust: 53.0ms (26.3% of total)
ival-mult: 46.0ms (22.8% of total)
ival-exp: 42.0ms (20.8% of total)
const: 26.0ms (12.9% of total)
ival-add: 13.0ms (6.4% of total)
ival-sub: 8.0ms (4% of total)
ival-cos: 7.0ms (3.5% of total)
ival-pow: 3.0ms (1.5% of total)
ival-neg: 2.0ms (1% of total)
exact: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series407.0ms (4.3%)

Memory
-125.5MiB live, 58.5MiB allocated; 790ms collecting garbage
Counts
24 → 90
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(exp.f64 im)
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
-1
(- (* -1/6 (pow im 2)) 1)
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(* -1/2520 (pow im 2))
-1/3
(- (* -1/60 (pow im 2)) 1/3)
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
-1/120
(- (* -1/5040 (pow im 2)) 1/120)
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(* -1/5040 (pow im 7))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 6))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(exp (neg im))
(* -1/120 (* (pow im 5) (cos re)))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(* -1/120 (pow im 5))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(* -1/5040 (pow im 2))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 4))
(* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(exp im)
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
Calls

6 calls:

TimeVariablePointExpression
356.0ms
im
@-inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))
38.0ms
re
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))
4.0ms
im
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))
2.0ms
im
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))
2.0ms
re
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (neg im) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im))) (+ (* (+ (* -1/120 (* im im)) -1/6) (pow im 3)) (neg im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (exp im) (+ (* -1/120 (* im im)) -1/6))

simplify222.0ms (2.3%)

Memory
-11.3MiB live, 235.9MiB allocated; 65ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02851212
19101136
235161112
084971032
Stop Event
iter limit
node limit
Counts
90 → 90
Calls
Call 1
Inputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
-1
(- (* -1/6 (pow im 2)) 1)
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(* -1/2520 (pow im 2))
-1/3
(- (* -1/60 (pow im 2)) 1/3)
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
-1/120
(- (* -1/5040 (pow im 2)) 1/120)
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(* -1/5040 (pow im 7))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 6))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(exp (neg im))
(* -1/120 (* (pow im 5) (cos re)))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(* -1/120 (pow im 5))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(* -1/5040 (pow im 2))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 4))
(* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(exp im)
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(fma.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)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 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 (-.f64 (*.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 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) 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 (-.f64 (*.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 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) re) re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(* -1 im)
(neg.f64 im)
(+ (* -1 im) (* 1/2 (* im (pow re 2))))
(fma.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) im (neg.f64 im))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(*.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/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(-.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) im))
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(-.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64))) (*.f64 re re) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) #s(literal -1/2 binary64))) (*.f64 re re) im))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (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)
(* -1 (* im (cos re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)) (cos.f64 re))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(*.f64 (fma.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (cos.f64 re))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(*.f64 (fma.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))))) im)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
-1
#s(literal -1 binary64)
(- (* -1/6 (pow im 2)) 1)
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
-1/3
#s(literal -1/3 binary64)
(- (* -1/60 (pow im 2)) 1/3)
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
-1/120
#s(literal -1/120 binary64)
(- (* -1/5040 (pow im 2)) 1/120)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
-1/6
#s(literal -1/6 binary64)
(- (* -1/120 (pow im 2)) 1/6)
(fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))
(- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(+ 1 im)
(-.f64 im #s(literal -1 binary64))
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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 (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/5040 (pow im 7))
(*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* -1/5040 (pow im 6))
(*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))))
(exp (neg im))
(exp.f64 (neg.f64 im))
(* -1/120 (* (pow im 5) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/120 binary64)) (cos.f64 re))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/120 binary64) (cos.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 5 binary64))) (fma.f64 #s(literal 1/120 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal 1/6 binary64) im) (/.f64 (cos.f64 re) im) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64))))))
(* -1/120 (pow im 5))
(*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/120 binary64))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* -1/2520 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/2520 binary64))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* -1/5040 (pow im 2))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (*.f64 im im))
(* -1/5040 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)))
(exp im)
(exp.f64 im)
(* -1/120 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/120 binary64))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (*.f64 im im))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(*.f64 (+.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64))) (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 6 binary64)))) (pow.f64 im #s(literal 7 binary64)))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(exp (* -1 im))
(exp.f64 (neg.f64 im))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/120 binary64) (cos.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 5 binary64))) (fma.f64 #s(literal 1/120 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal 1/6 binary64) im) (/.f64 (cos.f64 re) im) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64))))))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))

rewrite110.0ms (1.2%)

Memory
12.4MiB live, 155.9MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057348
088342
1336342
02445342
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 222
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(exp.f64 im)
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
Outputs
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(/.f64 (neg.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (*.f64 im (neg.f64 im)))
(/.f64 (*.f64 im (neg.f64 im)) im)
(/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (*.f64 im im))
(/.f64 (*.f64 im im) (neg.f64 im))
(neg.f64 im)
(-.f64 (/.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 im im) im))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 im im)))
(-.f64 #s(literal 0 binary64) im)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) (*.f64 im #s(literal -1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) #s(literal 1/2 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(-.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (cos.f64 re)))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im))) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)))) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re))) (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 im) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))))))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 3 binary64)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 (pow.f64 im #s(literal 3 binary64)) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (neg.f64 im) (cos.f64 re) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(fma.f64 (neg.f64 (cos.f64 re)) im (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(fma.f64 im (neg.f64 (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (neg.f64 im) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 im (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (neg.f64 im)) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 im)))
(+.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 3/2 binary64)) (neg.f64 im))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) (*.f64 im im) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) (*.f64 (pow.f64 im #s(literal 3/2 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(fma.f64 (*.f64 im im) (*.f64 im (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))
(fma.f64 im (*.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))
(-.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 0 binary64)) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
(-.f64 (neg.f64 im) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 3 binary64))))
(-.f64 #s(literal 0 binary64) (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2520 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2520 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64)))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) (*.f64 im #s(literal -1/3 binary64))))))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 im (neg.f64 im)) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/27 binary64) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im))
(/.f64 (-.f64 #s(literal 1/14400 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64)))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64)) (+.f64 #s(literal 1/14400 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64))))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))
(fma.f64 im (*.f64 #s(literal -1/5040 binary64) im) #s(literal -1/120 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))) (/.f64 #s(literal 1/14400 binary64) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(-.f64 #s(literal -1/120 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/5040 binary64) im)) im))
(-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal 1/5040 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/5040 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))) (/.f64 #s(literal -1/1728000 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))
(+.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64)))
(/.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) (*.f64 im #s(literal -1/6 binary64))))))
(/.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 im (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im)) im))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/216 binary64) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))
(fma.f64 im (*.f64 #s(literal -1/120 binary64) im) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/120 binary64) im)) im))
(-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/120 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))) (/.f64 #s(literal -1/216 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(+.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im)))

eval47.0ms (0.5%)

Memory
35.9MiB live, 123.7MiB allocated; 12ms collecting garbage
Compiler

Compiled 13 636 to 1 624 computations (88.1% saved)

prune52.0ms (0.5%)

Memory
-28.2MiB live, 121.4MiB allocated; 11ms collecting garbage
Pruning

39 alts after pruning (35 fresh and 4 done)

PrunedKeptTotal
New30321324
Fresh71421
Picked325
Done022
Total31339352
Accuracy
100.0%
Counts
352 → 39
Alt Table
Click to see full alt table
StatusAccuracyProgram
4.8%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.7%
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
90.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
87.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
82.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
48.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
55.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
53.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
56.9%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
54.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
55.4%
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
53.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
34.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re))) (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))
34.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
18.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
38.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
52.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64)))) im))
40.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
5.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
90.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
82.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
53.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
36.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
64.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (/.f64 (*.f64 im (neg.f64 im)) im))))
87.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
38.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
54.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
51.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
32.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
50.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
36.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
38.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
29.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 2 730 to 1 854 computations (32.1% saved)

simplify164.0ms (1.7%)

Memory
14.5MiB live, 210.7MiB allocated; 72ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
cost-diff2
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
cost-diff0
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
cost-diff0
(fma.f64 (-.f64 (*.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 (-.f64 (*.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 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
cost-diff0
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
cost-diff1
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
cost-diff0
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
cost-diff0
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
cost-diff0
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
cost-diff0
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
067588
0109581
1207581
2576575
32348572
47972572
08011572
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal -1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(-.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
(-.f64 im #s(literal -1 binary64))
#s(literal -1 binary64)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
#s(literal 1/48 binary64)
(*.f64 re re)
re
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
(cos.f64 re)
re
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 im im)
im
#s(literal -1/6 binary64)
(neg.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal -1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(-.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
(-.f64 im #s(literal -1 binary64))
#s(literal -1 binary64)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
#s(literal 1/48 binary64)
(*.f64 re re)
re
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
(*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im)) (cos.f64 re))
(cos.f64 re)
re
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
(neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
(*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 im im)
im
#s(literal -1/6 binary64)
(neg.f64 im)

localize367.0ms (3.9%)

Memory
8.7MiB live, 572.8MiB allocated; 89ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.08203125
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
accuracy0.09765625
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
accuracy0.12109375
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
accuracy7.882311369875151
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
accuracy0.1328125
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy0.4297440990062889
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
accuracy7.88147202335278
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy32.68512913814074
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy0.05078125
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
accuracy0.2109375
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
accuracy5.9106785348651565
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
accuracy22.978501325576296
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
accuracy22.978501325576296
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
accuracy29.642031665744067
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
accuracy30.008785949601716
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
accuracy30.946241248671218
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
accuracy0.046875
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
accuracy0.05078125
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
accuracy0.078125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy5.909869102585359
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
Samples
160.0ms57×2valid
80.0ms71×1valid
76.0ms128×0valid
Compiler

Compiled 419 to 63 computations (85% saved)

Precisions
Click to see histograms. Total time spent on operations: 261.0ms
adjust: 79.0ms (30.3% of total)
ival-mult: 47.0ms (18% of total)
ival-exp: 41.0ms (15.7% of total)
const: 40.0ms (15.3% of total)
ival-sub: 28.0ms (10.7% of total)
ival-add: 16.0ms (6.1% of total)
ival-cos: 6.0ms (2.3% of total)
exact: 1.0ms (0.4% of total)
ival-neg: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series21.0ms (0.2%)

Memory
-3.8MiB live, 41.5MiB allocated; 10ms collecting garbage
Counts
29 → 105
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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/4
(- (* 1/48 (pow re 2)) 1/4)
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(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 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(* -1 (* im (cos re)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
-1
(- (* -1/6 (pow im 2)) 1)
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
-1/60
(- (* -1/2520 (pow im 2)) 1/60)
-1/3
(- (* -1/60 (pow im 2)) 1/3)
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(* -1/6 im)
(* im (- (* -1/120 (pow im 2)) 1/6))
(* im (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6))
-1/120
(- (* -1/5040 (pow im 2)) 1/120)
(* -1/60 (pow im 2))
(* -1/6 (pow im 2))
(* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(- (exp (neg im)) (exp im))
(exp (neg im))
(* -1/5040 (pow im 7))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 6))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/120 (pow im 5))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(* -1/120 (* (pow im 5) (cos re)))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(* -1/2520 (pow im 2))
(* -1 (* (pow im 2) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(exp im)
(* -1/5040 (pow im 5))
(* -1 (* (pow im 5) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* -1/5040 (pow im 2))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/120 (pow im 4))
(* -1 (* (pow im 4) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(* -1 (* (pow im 5) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
Calls

6 calls:

TimeVariablePointExpression
8.0ms
re
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im))) (+ (* -1/2520 (* im im)) -1/60) (+ (* (+ (* -1/2520 (* im im)) -1/60) (* im im)) -1/3) (exp im) (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (+ (* -1/5040 (* im im)) -1/120) (- (exp (- 0 im)) (exp im)) (* 1/48 (* re re)) (* -1/60 (* im im)) (* (+ (* -1/120 (* im im)) -1/6) (* im im)) (+ (* -1/120 (* im im)) -1/6))
3.0ms
im
@-inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im))) (+ (* -1/2520 (* im im)) -1/60) (+ (* (+ (* -1/2520 (* im im)) -1/60) (* im im)) -1/3) (exp im) (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (+ (* -1/5040 (* im im)) -1/120) (- (exp (- 0 im)) (exp im)) (* 1/48 (* re re)) (* -1/60 (* im im)) (* (+ (* -1/120 (* im im)) -1/6) (* im im)) (+ (* -1/120 (* im im)) -1/6))
3.0ms
im
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im))) (+ (* -1/2520 (* im im)) -1/60) (+ (* (+ (* -1/2520 (* im im)) -1/60) (* im im)) -1/3) (exp im) (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (+ (* -1/5040 (* im im)) -1/120) (- (exp (- 0 im)) (exp im)) (* 1/48 (* re re)) (* -1/60 (* im im)) (* (+ (* -1/120 (* im im)) -1/6) (* im im)) (+ (* -1/120 (* im im)) -1/6))
2.0ms
re
@-inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im))) (+ (* -1/2520 (* im im)) -1/60) (+ (* (+ (* -1/2520 (* im im)) -1/60) (* im im)) -1/3) (exp im) (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (+ (* -1/5040 (* im im)) -1/120) (- (exp (- 0 im)) (exp im)) (* 1/48 (* re re)) (* -1/60 (* im im)) (* (+ (* -1/120 (* im im)) -1/6) (* im im)) (+ (* -1/120 (* im im)) -1/6))
2.0ms
im
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (cos re) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (- (exp (neg im)) (exp im)) (exp (neg im)) (* (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) im) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* (+ (* -1/120 (* im im)) -1/6) (* im im)) im) (neg im))) (+ (* -1/2520 (* im im)) -1/60) (+ (* (+ (* -1/2520 (* im im)) -1/60) (* im im)) -1/3) (exp im) (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (+ (* -1/5040 (* im im)) -1/120) (- (exp (- 0 im)) (exp im)) (* 1/48 (* re re)) (* -1/60 (* im im)) (* (+ (* -1/120 (* im im)) -1/6) (* im im)) (+ (* -1/120 (* im im)) -1/6))

simplify261.0ms (2.7%)

Memory
14.6MiB live, 289.5MiB allocated; 89ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02891305
19111232
235031205
086171122
Stop Event
iter limit
node limit
Counts
105 → 105
Calls
Call 1
Inputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (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/4
(- (* 1/48 (pow re 2)) 1/4)
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(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 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(* -1 (* im (cos re)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
-1
(- (* -1/6 (pow im 2)) 1)
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
-1/60
(- (* -1/2520 (pow im 2)) 1/60)
-1/3
(- (* -1/60 (pow im 2)) 1/3)
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(* -1/6 im)
(* im (- (* -1/120 (pow im 2)) 1/6))
(* im (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6))
-1/120
(- (* -1/5040 (pow im 2)) 1/120)
(* -1/60 (pow im 2))
(* -1/6 (pow im 2))
(* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(- (exp (neg im)) (exp im))
(exp (neg im))
(* -1/5040 (pow im 7))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 6))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/120 (pow im 5))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(* -1/120 (* (pow im 5) (cos re)))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(* -1/2520 (pow im 2))
(* -1 (* (pow im 2) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(exp im)
(* -1/5040 (pow im 5))
(* -1 (* (pow im 5) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* -1/5040 (pow im 2))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/120 (pow im 4))
(* -1 (* (pow im 4) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(* -1 (* (pow im 5) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #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 (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
(fma.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)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 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 (-.f64 (*.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 (*.f64 #s(literal 1/24 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64)) #s(literal 1/2 binary64))) (*.f64 re re) #s(literal 1 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))
(- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(- (+ (* -1/2 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6))) im)
(*.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/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* 1/24 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)))))) im)
(-.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64))) (*.f64 re re) im))
(- (+ (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/2 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im)) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))) (* 1/24 (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))))))) im)
(-.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64))) (*.f64 re re) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im) #s(literal -1/2 binary64))) (*.f64 re re) im))
(* 1/48 (pow re 2))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.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)
(* 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)))))
(*.f64 (-.f64 #s(literal 1/48 binary64) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (*.f64 (-.f64 #s(literal 1/48 binary64) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) re) re)
(* (cos re) (- (* (pow im 3) (- (* -1/120 (pow im 2)) 1/6)) im))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)) (cos.f64 re))
(* -1 (* im (cos re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(*.f64 (fma.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (cos.f64 re))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(*.f64 (fma.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))))) im)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* -1 im)
(neg.f64 im)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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/6 (pow im 2)) 1)
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
-1/60
#s(literal -1/60 binary64)
(- (* -1/2520 (pow im 2)) 1/60)
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
-1/3
#s(literal -1/3 binary64)
(- (* -1/60 (pow im 2)) 1/3)
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(+ 1 im)
(-.f64 im #s(literal -1 binary64))
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #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/6 im)
(*.f64 #s(literal -1/6 binary64) im)
(* im (- (* -1/120 (pow im 2)) 1/6))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
-1/120
#s(literal -1/120 binary64)
(- (* -1/5040 (pow im 2)) 1/120)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* -1/6 (pow im 2))
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
(* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) im) im)
-1/6
#s(literal -1/6 binary64)
(- (* -1/120 (pow im 2)) 1/6)
(fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp (neg im))
(exp.f64 (neg.f64 im))
(* -1/5040 (pow im 7))
(*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* -1/5040 (pow im 6))
(*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))))
(* -1/120 (pow im 5))
(*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/120 binary64))
(* -1 (* (pow im 5) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 2))) 1/120))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* -1/120 (* (pow im 5) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/120 binary64)) (cos.f64 re))
(* (pow im 5) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/120 binary64) (cos.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (+ (* -1 (/ (cos re) (pow im 4))) (+ (* -1/6 (/ (cos re) (pow im 2))) (* -1/120 (cos re)))))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (/.f64 (neg.f64 (cos.f64 re)) (pow.f64 im #s(literal 4 binary64))))) (pow.f64 im #s(literal 5 binary64)))
(* -1/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/2520 binary64)) (*.f64 im im))
(* -1/2520 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/2520 binary64))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(exp im)
(exp.f64 im)
(* -1/5040 (pow im 5))
(*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 5) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (pow.f64 im #s(literal 5 binary64)) (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)))
(* -1/5040 (pow im 2))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64)) (*.f64 im im))
(* -1/120 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/120 binary64))
(* -1 (* (pow im 4) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* -1/120 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/120 binary64))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (*.f64 im im))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(exp (* -1 im))
(exp.f64 (neg.f64 im))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(*.f64 (+.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64))) (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 6 binary64)))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 5) (+ 1/120 (+ (* 1/6 (/ 1 (pow im 2))) (/ 1 (pow im 4))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (* 1/6 (/ (cos re) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (*.f64 #s(literal -1/120 binary64) (cos.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* -1 (* (pow im 5) (+ (* 1/120 (cos re)) (+ (* 1/6 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4))))))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (cos.f64 re) (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (cos.f64 re) im) (/.f64 (neg.f64 (cos.f64 re)) (pow.f64 im #s(literal 4 binary64))))) (pow.f64 im #s(literal 5 binary64)))
(* -1 (* (pow im 5) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/5040 binary64))) (pow.f64 im #s(literal 5 binary64)))

rewrite144.0ms (1.5%)

Memory
-13.5MiB live, 173.7MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067457
0109450
1431447
03228440
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
29 → 289
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
Outputs
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 2 binary64))) #s(literal 1/2 binary64)) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 3 binary64))) #s(literal 1/2 binary64)) (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 2 binary64)))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 3 binary64)))) (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 2 binary64)))) (neg.f64 (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 2 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))) (/.f64 (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 2 binary64)) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)))))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 3 binary64)) (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(literal 3 binary64)) (fma.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) (+.f64 #s(approx (exp im) (-.f64 im #s(literal -1 binary64))) #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))) (pow.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(literal 2 binary64)))))
(-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(fma.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (*.f64 #s(literal -1 binary64) im))
(fma.f64 im #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#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)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))) #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 (*.f64 re re) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) re) re))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 3 binary64)) #s(literal 1/64 binary64))) (neg.f64 (+.f64 (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)) (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 3 binary64)) #s(literal 1/64 binary64)) (+.f64 (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)) (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal 1/48 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re)) (neg.f64 re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 #s(literal 1/48 binary64) re) re #s(literal -1/4 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal 1/48 binary64)) #s(literal -1/4 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/48 binary64)) #s(literal -1/4 binary64))
(fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 re (*.f64 #s(literal 1/48 binary64) re) #s(literal -1/4 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))) (/.f64 #s(literal 1/16 binary64) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 3 binary64)) (+.f64 (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)) (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/64 binary64) (+.f64 (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)) (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(+.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal -1/4 binary64))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) (*.f64 im im) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (neg.f64 im))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) (neg.f64 im))
(fma.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (neg.f64 im))
(-.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 0 binary64)) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) im))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 3 binary64))))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 im) (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(-.f64 #s(literal 0 binary64) (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (cos.f64 re)))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im))) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64)))) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re))) (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 im) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re))))))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) im (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 3 binary64)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) im) (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (neg.f64 im) (cos.f64 re) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (*.f64 im (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 (pow.f64 im #s(literal 3 binary64)) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 im (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (neg.f64 im) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 im (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (neg.f64 im)) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 im)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(/.f64 (-.f64 #s(literal 1/3600 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal -1/60 binary64) (*.f64 (*.f64 im im) #s(literal -1/2520 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/16003008000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216000 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 (*.f64 im im) #s(literal 1/151200 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64)))
(/.f64 (fma.f64 #s(literal -1/16003008000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216000 binary64)) (+.f64 #s(literal 1/3600 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/151200 binary64)))))
(/.f64 (fma.f64 #s(literal -1/16003008000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216000 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 (*.f64 im im) #s(literal 1/151200 binary64))))
(fma.f64 (*.f64 #s(literal -1/2520 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/60 binary64))
(fma.f64 (*.f64 #s(literal -1/2520 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/60 binary64))
(fma.f64 (*.f64 #s(literal -1/2520 binary64) im) im #s(literal -1/60 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))
(fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))
(fma.f64 im (*.f64 #s(literal -1/2520 binary64) im) #s(literal -1/60 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))) (/.f64 #s(literal 1/3600 binary64) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))))
(-.f64 #s(literal -1/60 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/2520 binary64) im)) im))
(-.f64 #s(literal -1/60 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/2520 binary64)))
(-.f64 #s(literal -1/60 binary64) (*.f64 #s(literal 1/2520 binary64) (*.f64 im im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 (*.f64 im im) #s(literal 1/151200 binary64)))) (/.f64 #s(literal -1/216000 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 (*.f64 im im) #s(literal 1/151200 binary64)))))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal -1/60 binary64))
(+.f64 #s(literal -1/60 binary64) (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal -1/3 binary64)))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) (*.f64 im #s(literal -1/3 binary64))))))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/27 binary64) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal -1/60 binary64)) im) im))
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(*.f64 im (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64)) im) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1/216 binary64)) im) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1/216 binary64))) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) im (*.f64 #s(literal -1/6 binary64) im))
(fma.f64 #s(literal -1/6 binary64) im (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) (*.f64 im #s(literal -1/6 binary64)))
(fma.f64 im #s(literal -1/6 binary64) (*.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) im) (*.f64 #s(literal -1/6 binary64) im))
(+.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (*.f64 im #s(literal -1/6 binary64)))
(+.f64 (*.f64 im #s(literal -1/6 binary64)) (*.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)))
(/.f64 (-.f64 #s(literal 1/14400 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64)))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64)) (+.f64 #s(literal 1/14400 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64))))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))
(fma.f64 im (*.f64 #s(literal -1/5040 binary64) im) #s(literal -1/120 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))) (/.f64 #s(literal 1/14400 binary64) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(-.f64 #s(literal -1/120 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/5040 binary64) im)) im))
(-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal 1/5040 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/5040 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))) (/.f64 #s(literal -1/1728000 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))
(+.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/48 binary64) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/48 binary64) re) re)
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal 1/48 binary64)))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/48 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 re (*.f64 #s(literal 1/48 binary64) re))
(*.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
(*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))
(*.f64 im (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64)) (*.f64 im im)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64)))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) (*.f64 im im) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) (*.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) (*.f64 (*.f64 im im) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) (*.f64 im im)) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) (*.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 im im) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 (*.f64 im im) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/1728000 binary64) #s(literal -1/216 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))
(fma.f64 im (*.f64 #s(literal -1/120 binary64) im) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/120 binary64) im)) im))
(-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/120 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))) (/.f64 #s(literal -1/216 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(+.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im)))

eval98.0ms (1%)

Memory
11.5MiB live, 147.8MiB allocated; 11ms collecting garbage
Compiler

Compiled 17 183 to 2 051 computations (88.1% saved)

prune122.0ms (1.3%)

Memory
16.5MiB live, 266.9MiB allocated; 55ms collecting garbage
Pruning

44 alts after pruning (37 fresh and 7 done)

PrunedKeptTotal
New38513398
Fresh62430
Picked235
Done044
Total39344437
Accuracy
100.0%
Counts
437 → 44
Alt Table
Click to see full alt table
StatusAccuracyProgram
4.8%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.7%
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
90.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
87.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/2520 (* im im)) -1/60) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
82.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
48.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
54.7%
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
55.5%
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
56.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
55.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
53.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
55.4%
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
53.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
34.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re))) (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))
34.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
18.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
38.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
52.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64)))) im))
28.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
9.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
40.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
5.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
90.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
82.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
53.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
36.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
64.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (/.f64 (*.f64 im (neg.f64 im)) im))))
87.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
38.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
54.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
54.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
54.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
51.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
51.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
32.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
50.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
36.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
38.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
29.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 4 167 to 1 553 computations (62.7% saved)

regimes106.0ms (1.1%)

Memory
-12.9MiB live, 264.9MiB allocated; 24ms collecting garbage
Counts
68 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/2520 (* im im)) -1/60) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (/.f64 (*.f64 im (neg.f64 im)) im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (*.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (cos.f64 re)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal 2 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re))) (*.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re))) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (cos.f64 re)))))) im))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
Calls

6 calls:

19.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
19.0ms
re
19.0ms
im
18.0ms
(cos.f64 re)
14.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.9%2(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
90.6%1(cos.f64 re)
90.6%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
98.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
90.6%1re
99.9%2im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes43.0ms (0.4%)

Memory
-3.7MiB live, 95.2MiB allocated; 8ms collecting garbage
Counts
59 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/2520 (* im im)) -1/60) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (/.f64 (*.f64 im (neg.f64 im)) im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im))
Calls

3 calls:

16.0ms
im
13.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
11.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Results
AccuracySegmentsBranch
98.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
90.6%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
98.3%3im
Compiler

Compiled 20 to 20 computations (0% saved)

regimes13.0ms (0.1%)

Memory
28.9MiB live, 28.9MiB allocated; 0ms collecting garbage
Counts
56 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/2520 (* im im)) -1/60) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

11.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
98.3%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes13.0ms (0.1%)

Memory
-17.7MiB live, 28.6MiB allocated; 2ms collecting garbage
Counts
48 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/2520 (* im im)) -1/60) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
Calls

1 calls:

9.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.8%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes12.0ms (0.1%)

Memory
-18.0MiB live, 28.6MiB allocated; 2ms collecting garbage
Counts
44 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
Calls

1 calls:

10.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes11.0ms (0.1%)

Memory
28.0MiB live, 28.0MiB allocated; 0ms collecting garbage
Counts
42 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))
Calls

1 calls:

8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes12.0ms (0.1%)

Memory
-24.5MiB live, 21.9MiB allocated; 3ms collecting garbage
Counts
41 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

9.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.3%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes10.0ms (0.1%)

Memory
15.7MiB live, 15.7MiB allocated; 0ms collecting garbage
Counts
39 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
98.9%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes25.0ms (0.3%)

Memory
-19.1MiB live, 28.2MiB allocated; 9ms collecting garbage
Counts
38 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (PI.f64) re)) im))
Outputs
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

2 calls:

15.0ms
im
8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
85.6%4im
93.8%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 13 to 13 computations (0% saved)

regimes73.0ms (0.8%)

Memory
38.8MiB live, 83.4MiB allocated; 6ms collecting garbage
Counts
36 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
Outputs
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

6 calls:

28.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
10.0ms
re
9.0ms
im
9.0ms
(cos.f64 re)
7.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
62.5%4im
69.0%2(cos.f64 re)
69.0%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
58.9%2(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
59.2%2re
70.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes27.0ms (0.3%)

Memory
-27.5MiB live, 15.3MiB allocated; 11ms collecting garbage
Counts
33 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

25.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
70.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes8.0ms (0.1%)

Memory
14.6MiB live, 14.6MiB allocated; 0ms collecting garbage
Counts
32 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

6.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
70.7%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes32.0ms (0.3%)

Memory
-6.8MiB live, 37.5MiB allocated; 10ms collecting garbage
Counts
30 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #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))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) 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))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

3 calls:

16.0ms
(cos.f64 re)
8.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 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
68.1%2(cos.f64 re)
68.1%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
68.1%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes7.0ms (0.1%)

Memory
16.6MiB live, 16.6MiB allocated; 0ms collecting garbage
Counts
26 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im)) re) re (*.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) (neg.f64 im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

1 calls:

5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
68.1%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes30.0ms (0.3%)

Memory
-21.9MiB live, 35.5MiB allocated; 25ms collecting garbage
Counts
23 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
Calls

3 calls:

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

Compiled 18 to 19 computations (-5.6% saved)

regimes6.0ms (0.1%)

Memory
10.5MiB live, 10.5MiB allocated; 0ms collecting garbage
Counts
22 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.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)))) im))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
Calls

1 calls:

5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
67.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes19.0ms (0.2%)

Memory
-13.4MiB live, 31.3MiB allocated; 9ms collecting garbage
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
Calls

3 calls:

10.0ms
(cos.f64 re)
4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
65.1%2(cos.f64 re)
65.1%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
65.1%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes4.0ms (0%)

Memory
12.7MiB live, 12.7MiB allocated; 0ms collecting garbage
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
Calls

1 calls:

3.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
65.1%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes14.0ms (0.1%)

Memory
-9.5MiB live, 36.5MiB allocated; 5ms collecting garbage
Counts
12 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (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))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg 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))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
Calls

3 calls:

6.0ms
(cos.f64 re)
4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
3.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
62.2%2(cos.f64 re)
62.2%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
62.2%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes7.0ms (0.1%)

Memory
26.0MiB live, 26.0MiB allocated; 0ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im))
Calls

3 calls:

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

Compiled 18 to 19 computations (-5.6% saved)

regimes13.0ms (0.1%)

Memory
-9.1MiB live, 37.8MiB allocated; 3ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
Calls

6 calls:

4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
2.0ms
re
2.0ms
im
2.0ms
(cos.f64 re)
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
51.5%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
51.5%1re
51.5%1im
51.5%1(cos.f64 re)
51.5%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
51.5%1(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes9.0ms (0.1%)

Memory
-29.7MiB live, 25.2MiB allocated; 3ms collecting garbage
Accuracy

Total -15.0b remaining (-33.2%)

Threshold costs -15b (-33.2%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) #s(approx (exp im) (-.f64 im #s(literal -1 binary64)))) #s(literal 1/2 binary64)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Calls

6 calls:

3.0ms
re
1.0ms
im
1.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
1.0ms
(cos.f64 re)
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
29.2%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
29.2%1re
29.2%1(cos.f64 re)
29.2%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
29.2%1(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
29.2%1im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

bsearch18.0ms (0.2%)

Memory
5.9MiB live, 52.7MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
0.0008616641039438863
0.0672391358542806
Samples
11.0ms112×0valid
Compiler

Compiled 302 to 247 computations (18.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-exp: 3.0ms (37.3% of total)
ival-cos: 3.0ms (37.3% of total)
ival-sub: 1.0ms (12.4% of total)
ival-mult: 1.0ms (12.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
2.9MiB live, 2.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
3.1MiB live, 3.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
3.0MiB live, 3.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
2.9MiB live, 2.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
3.1MiB live, 3.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.5959202557784453e-14
+inf
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
0.0ms
-inf
-0.06652049406074283
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch5.0ms (0%)

Memory
-38.4MiB live, 1.4MiB allocated; 5ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.5959202557784453e-14
Compiler

Compiled 15 to 16 computations (-6.7% saved)

simplify67.0ms (0.7%)

Memory
1.5MiB live, 101.4MiB allocated; 7ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02022136
12902136
25182136
314972136
454042136
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 im #s(literal 226981421219473/18014398509481984 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) 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))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Outputs
(if (<=.f64 im #s(literal 226981421219473/18014398509481984 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) 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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/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 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/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 3961408125713217/79228162514264337593543950336 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/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 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/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 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (+ (* -1/5040 (* im im)) -1/120) (pow im 4)) (+ (* (* -1/6 im) im) -1))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/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 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 #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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 3961408125713217/79228162514264337593543950336 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im)) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 #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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 #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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) 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 #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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) 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))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (neg.f64 im)))) (*.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 (- 0 im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (neg.f64 im)))) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im)) im (neg.f64 im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 #s(approx (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) im) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))

derivations1.7s (17.4%)

Memory
20.1MiB live, 1 362.3MiB allocated; 286ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02891305
19111232
235031205
086171122
02851212
19101136
235161112
084971032
03101712
110581565
247041552
084171387
057348
088342
1336342
02445342
01130
01827
16427
044527
0126381
1387349
21339342
34642321
08097294
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 2 186 to 206 computations (90.6% saved)

preprocess227.0ms (2.4%)

Memory
-0.8MiB live, 324.8MiB allocated; 46ms collecting garbage
Remove

(abs re)

Compiler

Compiled 4 750 to 672 computations (85.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...