math.sin on complex, imaginary part

Time bar (total: 9.0s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
1.7MiB live, 1.7MiB 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)

sample3.3s (36.1%)

Memory
-54.9MiB live, 3 760.3MiB allocated; 1.3s collecting garbage
Samples
1.4s1 637×2valid
918.0ms2 311×1valid
567.0ms4 308×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.5s
ival-exp: 1.1s (45.5% of total)
ival-sub: 530.0ms (21.3% of total)
ival-mult: 402.0ms (16.1% of total)
ival-cos: 242.0ms (9.7% of total)
adjust: 165.0ms (6.6% of total)
exact: 10.0ms (0.4% of total)
ival-true: 7.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain215.0ms (2.4%)

Memory
-16.1MiB live, 407.5MiB allocated; 56ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1410-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))cancellation1410
Confusion
Predicted +Predicted -
+1410
-0115
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+14100
-00115
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0115
1141
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
74.0ms130×2valid
32.0ms146×1valid
28.0ms236×0valid
Compiler

Compiled 92 to 37 computations (59.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 107.0ms
ival-exp: 59.0ms (55.4% of total)
ival-cos: 17.0ms (16% of total)
adjust: 14.0ms (13.1% of total)
ival-mult: 8.0ms (7.5% of total)
ival-sub: 6.0ms (5.6% of total)
exact: 1.0ms (0.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess149.0ms (1.7%)

Memory
-5.2MiB live, 235.4MiB allocated; 44ms collecting garbage
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.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.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)

simplify116.0ms (1.3%)

Memory
17.8MiB live, 153.7MiB allocated; 27ms collecting garbage
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)

localize99.0ms (1.1%)

Memory
-19.6MiB live, 129.7MiB allocated; 21ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.0
(cos.f64 re)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
accuracy32.46636344408786
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Samples
40.0ms118×0valid
34.0ms65×2valid
16.0ms73×1valid
Compiler

Compiled 40 to 13 computations (67.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 49.0ms
ival-exp: 28.0ms (57% of total)
adjust: 8.0ms (16.3% of total)
ival-cos: 6.0ms (12.2% of total)
ival-mult: 4.0ms (8.1% of total)
ival-sub: 3.0ms (6.1% 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
14.4MiB live, 14.4MiB 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
2.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
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
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))

simplify164.0ms (1.8%)

Memory
24.5MiB live, 301.3MiB allocated; 33ms collecting garbage
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))

rewrite95.0ms (1.1%)

Memory
-30.9MiB live, 119.0MiB allocated; 30ms 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))

eval8.0ms (0.1%)

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

Compiled 1 424 to 304 computations (78.7% saved)

prune10.0ms (0.1%)

Memory
-27.7MiB live, 17.2MiB allocated; 7ms collecting garbage
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New62870
Fresh000
Picked101
Done000
Total63871
Accuracy
99.9%
Counts
71 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
92.1%
(*.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)))
90.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)))
83.7%
(*.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))))
34.7%
#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)))
57.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
83.7%
#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 366 to 292 computations (20.2% saved)

simplify145.0ms (1.6%)

Memory
21.1MiB live, 255.1MiB allocated; 26ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
cost-diff3
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
cost-diff0
(neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
cost-diff0
#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))))
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
#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))
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 (*.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)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051394
083382
1158381
2374381
31127379
44910379
08117379
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 (-.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)))
(*.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 (*.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))
(*.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)
(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))
(-.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 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(-.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))) (*.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 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(cos.f64 re)
re
(neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
#s(literal 1/6 binary64)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(cosh.f64 im)
(sinh.f64 im)
Outputs
(*.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)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 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 (*.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 (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 im im) #s(literal -2 binary64)) 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)
(*.f64 (fma.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 im im) #s(literal -2 binary64)) im)
(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))
(fma.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 im im) #s(literal -2 binary64))
(-.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 (*.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 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)
(-.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))) (*.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 (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 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re))
(cos.f64 re)
re
(neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
#s(literal 1/6 binary64)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
(sinh.f64 (neg.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(cosh.f64 im)
(sinh.f64 im)

localize561.0ms (6.2%)

Memory
35.3MiB live, 728.6MiB allocated; 269ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(cos.f64 re)
accuracy0.01171875
(sinh.f64 im)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
accuracy32.43782307494621
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
accuracy0.0
(cos.f64 re)
accuracy0.046875
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
accuracy0.0859375
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
accuracy10.341665554117867
#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))))
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.0625
(*.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.140625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.0065197804089205
#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.0
(cos.f64 re)
accuracy0.1015625
(*.f64 (neg.f64 (cos.f64 re)) im)
accuracy27.478584712187192
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
accuracy0.0859375
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
accuracy0.09765625
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
accuracy0.1171875
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.977092531210412
#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))
Samples
222.0ms73×1valid
181.0ms65×2valid
55.0ms118×0valid
Compiler

Compiled 314 to 48 computations (84.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 316.0ms
ival-sub: 131.0ms (41.4% of total)
ival-exp: 47.0ms (14.9% of total)
adjust: 40.0ms (12.7% of total)
ival-mult: 35.0ms (11.1% of total)
const: 30.0ms (9.5% of total)
ival-cosh: 11.0ms (3.5% of total)
ival-cos: 7.0ms (2.2% of total)
ival-add: 5.0ms (1.6% of total)
ival-neg: 4.0ms (1.3% of total)
ival-pow: 3.0ms (0.9% of total)
ival-sinh: 2.0ms (0.6% of total)
exact: 1.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series33.0ms (0.4%)

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

6 calls:

TimeVariablePointExpression
7.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 (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (neg (+ (* 1/6 (pow im 3)) im)) (- (exp (neg im)) (cosh im)) (* (* 1/2 (cos re)) (- (- (exp (neg im)) (cosh im)) (sinh im))) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (* (- (* -1/2520 (* im im)) 1/60) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (+ (* 1/6 (pow im 3)) im) (sinh im))
6.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 (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (neg (+ (* 1/6 (pow im 3)) im)) (- (exp (neg im)) (cosh im)) (* (* 1/2 (cos re)) (- (- (exp (neg im)) (cosh im)) (sinh im))) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (* (- (* -1/2520 (* im im)) 1/60) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (+ (* 1/6 (pow im 3)) im) (sinh im))
6.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 (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (neg (+ (* 1/6 (pow im 3)) im)) (- (exp (neg im)) (cosh im)) (* (* 1/2 (cos re)) (- (- (exp (neg im)) (cosh im)) (sinh im))) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (* (- (* -1/2520 (* im im)) 1/60) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (+ (* 1/6 (pow im 3)) im) (sinh im))
5.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 (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (neg (+ (* 1/6 (pow im 3)) im)) (- (exp (neg im)) (cosh im)) (* (* 1/2 (cos re)) (- (- (exp (neg im)) (cosh im)) (sinh im))) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (* (- (* -1/2520 (* im im)) 1/60) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (+ (* 1/6 (pow im 3)) im) (sinh im))
4.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 (cos re)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (neg (+ (* 1/6 (pow im 3)) im)) (- (exp (neg im)) (cosh im)) (* (* 1/2 (cos re)) (- (- (exp (neg im)) (cosh im)) (sinh im))) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (* (- (* -1/2520 (* im im)) 1/60) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (+ (* 1/6 (pow im 3)) im) (sinh im))

simplify154.0ms (1.7%)

Memory
-2.1MiB live, 234.1MiB allocated; 34ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02671181
18791040
235751015
08291947
Stop Event
iter limit
node limit
Counts
78 → 77
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))))))))
-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 (+ im (* 1/6 (pow im 3))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* 1/2 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (* (pow re 2) (+ im (* 1/6 (pow im 3))))) (* 1/2 (+ im (* 1/6 (pow im 3)))))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* 1/2 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (+ im (* 1/6 (pow im 3)))) (* 1/720 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))))))
(* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))) (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))))))
(+ (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))) (* 1/48 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))))))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* -1 (cos re))
(* -1 (* (cos re) (+ im (* 1/6 (pow im 3)))))
(* 1/2 (* (cos re) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp 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/2520 (pow im 2))
(* -1/60 (pow im 2))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(* -1/60 im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
-2
(- (* -1/3 (pow im 2)) 2)
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
im
(* im (+ 1 (* 1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (+ 1/6 (* 1/120 (pow im 2))))))
(* im (+ 1 (* (pow im 2) (+ 1/6 (* (pow im 2) (+ 1/120 (* 1/5040 (pow im 2))))))))
(- (exp (neg im)) (exp im))
(* -1/6 (* (pow im 3) (cos re)))
(* (pow im 3) (+ (* -1 (/ (cos re) (pow im 2))) (* -1/6 (cos re))))
(* -1/6 (pow im 3))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(- (exp (neg im)) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 3))
(* -1 (* (pow im 3) (+ 1/2520 (* 1/60 (/ 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))
(* 1/6 (pow im 3))
(* (pow im 3) (+ 1/6 (/ 1 (pow im 2))))
(* 1/2 (- (exp im) (/ 1 (exp im))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 3) (+ (* 1/6 (cos re)) (/ (cos re) (pow im 2)))))
(- (exp (* -1 im)) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (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 (-.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 (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))))
(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))
-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 (+ im (* 1/6 (pow im 3))))
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* 1/2 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (* (pow re 2) (+ im (* 1/6 (pow im 3))))) (* 1/2 (+ im (* 1/6 (pow im 3)))))))
(fma.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))) (*.f64 re re) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im)))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* 1/2 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (+ im (* 1/6 (pow im 3)))) (* 1/720 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))))))
(fma.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 #s(literal 1/720 binary64) (*.f64 re re) #s(literal -1/24 binary64)))))
(* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))) (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(+ (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))))))
(fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (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)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64)))
(+ (* 1/2 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im)))))))) (* 1/48 (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (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)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 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)))
(* 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)
(* -1 (cos re))
(neg.f64 (cos.f64 re))
(* -1 (* (cos re) (+ im (* 1/6 (pow im 3)))))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(* 1/2 (* (cos re) (- (exp (neg im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 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 (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))
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) 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 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)
(* -1/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(*.f64 (*.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) im) im)
(* -1/60 im)
(*.f64 #s(literal -1/60 binary64) im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
(*.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) 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))
im
(* im (+ 1 (* 1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(* im (+ 1 (* (pow im 2) (+ 1/6 (* 1/120 (pow im 2))))))
(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)
(* im (+ 1 (* (pow im 2) (+ 1/6 (* (pow im 2) (+ 1/120 (* 1/5040 (pow im 2))))))))
(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)) (pow.f64 im #s(literal 3 binary64)) im)
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/6 (* (pow im 3) (cos re)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (cos.f64 re))
(* (pow im 3) (+ (* -1 (/ (cos re) (pow im 2))) (* -1/6 (cos re))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) im)))
(* -1/6 (pow im 3))
(*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))
(- (exp (neg im)) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal -1/2 binary64) (exp.f64 (neg.f64 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)))
(* -1/2520 (pow im 3))
(*.f64 #s(literal -1/2520 binary64) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* (pow im 3) (+ 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 3 binary64)))
(* -1/60 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/60 binary64))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(*.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)))
(* 1/6 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow im 3) (+ 1/6 (/ 1 (pow im 2))))
(*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))
(* 1/2 (- (exp im) (/ 1 (exp im))))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) #s(literal 1/2 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 (* (pow im 3) (+ (* 1/6 (cos re)) (/ (cos re) (pow im 2)))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) im)))
(- (exp (* -1 im)) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal -1/2 binary64) (exp.f64 (neg.f64 im)))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* 1/2 (- (exp im) (/ 1 (exp im))))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))) #s(literal 1/2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))

rewrite89.0ms (1%)

Memory
-3.6MiB live, 82.7MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051252
083243
1290242
02036242
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
21 → 158
Calls
Call 1
Inputs
(*.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)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(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 (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)))
#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 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.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))
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(sinh.f64 im)
Outputs
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) 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 (-.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 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 (-.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 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) 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 (-.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 im im) #s(literal -2 binary64)) im))
#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 (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 (-.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) (*.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) (*.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(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 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re)))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)))
(neg.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (cos.f64 re)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 (cos.f64 re) (neg.f64 im)))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (cos.f64 re) (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 3 binary64)) (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 im im) (*.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im))) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (neg.f64 im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im)) (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(fma.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64))) #s(literal 1/6 binary64) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im))
(fma.f64 #s(literal 1/6 binary64) (neg.f64 (pow.f64 im #s(literal 3 binary64))) (neg.f64 im))
(-.f64 (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) #s(literal 0 binary64)) im)
(+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (cosh.f64 im) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 #s(literal 2 binary64) (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64))) (*.f64 (exp.f64 im) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (fma.f64 (cosh.f64 im) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (fma.f64 (cosh.f64 im) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))))
(-.f64 (cosh.f64 im) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))
(*.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 (pow.f64 (exp.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 #s(literal 2 binary64) (cosh.f64 im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (pow.f64 (sinh.f64 im) #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.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 #s(literal 2 binary64) (cosh.f64 im)) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (fma.f64 (sinh.f64 im) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (pow.f64 (sinh.f64 im) #s(literal 2 binary64)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (pow.f64 (-.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 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 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) (*.f64 im im)) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)
(*.f64 im (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) im) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) im) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64))) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(*.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 (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)) #s(literal -8 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 (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)) #s(literal -8 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 (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)) #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))))
(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 im im) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64))) (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 3/2 binary64)) im)
(fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 im im)) im im)
(fma.f64 (*.f64 #s(literal 1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) (*.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/6 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)
(fma.f64 im (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)))
(-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)
(+.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) #s(literal 2 binary64))
(sinh.f64 im)
(-.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))

eval36.0ms (0.4%)

Memory
16.9MiB live, 61.8MiB allocated; 9ms collecting garbage
Compiler

Compiled 9 027 to 1 217 computations (86.5% saved)

prune78.0ms (0.9%)

Memory
-6.0MiB live, 51.6MiB allocated; 86ms collecting garbage
Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New27418292
Fresh123
Picked415
Done000
Total27921300
Accuracy
99.9%
Counts
300 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.1%
(*.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)))
92.1%
(*.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 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
61.8%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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)))
60.6%
(*.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 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
39.7%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
58.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #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)))
57.8%
(*.f64 #s(approx (* 1/2 (cos 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.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))))
56.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))
34.7%
#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)))
57.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
44.8%
#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))
33.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (neg.f64 re) (PI.f64))) im))
83.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
44.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
40.4%
#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))
41.8%
#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))
40.4%
#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))))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) im)))))
Compiler

Compiled 1 206 to 911 computations (24.5% saved)

simplify117.0ms (1.3%)

Memory
-36.9MiB live, 204.3MiB allocated; 31ms collecting garbage
Localize:

Found 19 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
059524
097516
1177516
2353516
3845516
42108505
09007505
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 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 #s(literal -1/2520 binary64) im)
#s(literal -1/2520 binary64)
im
#s(literal 1/60 binary64)
#s(literal 1/3 binary64)
(*.f64 im im)
#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
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 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)
(*.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 (-.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)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(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)
#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))
(*.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)
(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))
(-.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 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(-.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))) (*.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)
Outputs
(*.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 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 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(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (-.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 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 (fma.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 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.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 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 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 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)
(-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 #s(literal -1/2520 binary64) im)
#s(literal -1/2520 binary64)
im
#s(literal 1/60 binary64)
#s(literal 1/3 binary64)
(*.f64 im im)
#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
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 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)
(*.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 (-.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)))
(*.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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #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)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) (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 #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)
#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 (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 im im) #s(literal -2 binary64)) 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)
(*.f64 (fma.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 im im) #s(literal -2 binary64)) im)
(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))
(fma.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 im im) #s(literal -2 binary64))
(-.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 (*.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 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)
(-.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))) (*.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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)
#s(literal 1/2 binary64)

localize301.0ms (3.3%)

Memory
33.8MiB live, 703.3MiB allocated; 40ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy23.117952224591402
#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)))
accuracy32.46636344408786
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.09765625
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
accuracy0.1171875
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.977092531210412
#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))
accuracy30.150397103660776
#s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
accuracy0.0625
(*.f64 #s(approx (* 1/2 (cos 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)))
accuracy0.140625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.0065197804089205
#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))
accuracy28.38436782004175
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.0
(neg.f64 im)
accuracy27.478584712187192
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
accuracy28.18607226790962
#s(approx (* (neg (cos re)) im) (neg.f64 im))
accuracy0.0859375
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
accuracy0.09765625
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
accuracy0.125
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
accuracy4.977092531210412
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
Samples
99.0ms65×2valid
67.0ms73×1valid
52.0ms118×0valid
Compiler

Compiled 380 to 51 computations (86.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 175.0ms
ival-mult: 53.0ms (30.2% of total)
ival-exp: 46.0ms (26.2% of total)
adjust: 28.0ms (16% of total)
const: 18.0ms (10.3% of total)
ival-sub: 13.0ms (7.4% of total)
ival-add: 8.0ms (4.6% of total)
ival-cos: 6.0ms (3.4% 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)

series20.0ms (0.2%)

Memory
-22.6MiB live, 26.1MiB allocated; 8ms collecting garbage
Counts
27 → 59
Calls
Call 1
Inputs
(*.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 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
(*.f64 #s(approx (* 1/2 (cos 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)) #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)
(*.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 (-.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)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 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))
(exp.f64 (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#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))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(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 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 re 2)
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* -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)))))))))
(* -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)))
(* -1/2520 (pow im 2))
(* -1/60 (pow im 2))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(* -1/60 im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(* -1/60 (pow im 5))
(* -1 (* (pow im 5) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp (neg im))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 3))
(* -1 (* (pow im 3) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 5) (+ 1/60 (+ (* 1/3 (/ 1 (pow im 2))) (/ 2 (pow im 4))))))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
Calls

6 calls:

TimeVariablePointExpression
8.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/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (- (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (exp (neg im)) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im) (* (- (* (* -1/2520 im) im) 1/60) im) (* -1/60 (* im im)) (- (exp (- 0 im)) (exp im)) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (exp im))
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))) (* (neg (cos re)) im) (neg im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (- (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (exp (neg im)) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im) (* (- (* (* -1/2520 im) im) 1/60) im) (* -1/60 (* im im)) (- (exp (- 0 im)) (exp im)) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (exp im))
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))) (* (neg (cos re)) im) (neg im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (- (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (exp (neg im)) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im) (* (- (* (* -1/2520 im) im) 1/60) im) (* -1/60 (* im im)) (- (exp (- 0 im)) (exp im)) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (exp im))
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/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (- (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (exp (neg im)) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im) (* (- (* (* -1/2520 im) im) 1/60) im) (* -1/60 (* im im)) (- (exp (- 0 im)) (exp im)) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (exp im))
1.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/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (- (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (exp (neg im)) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im) (* (- (* (* -1/2520 im) im) 1/60) im) (* -1/60 (* im im)) (- (exp (- 0 im)) (exp im)) (* -1/2520 (* im im)) (* (* (- (* -1/2520 (* im im)) 1/60) im) im) (exp im))

simplify162.0ms (1.8%)

Memory
-10.7MiB live, 178.7MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0207659
1628623
22310607
37054607
08191560
Stop Event
iter limit
node limit
Counts
59 → 59
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 re 2)
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* -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)))))))))
(* -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)))
(* -1/2520 (pow im 2))
(* -1/60 (pow im 2))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(* -1/60 im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(* -1/60 (pow im 5))
(* -1 (* (pow im 5) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 5) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp (neg im))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 3))
(* -1 (* (pow im 3) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 5) (+ 1/60 (+ (* 1/3 (/ 1 (pow im 2))) (/ 2 (pow im 4))))))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 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 (-.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 (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))) (*.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
#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 (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 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) re #s(literal -1 binary64)))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 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 (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (*.f64 #s(literal 1/720 binary64) re) re #s(literal -1/24 binary64))) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) re #s(literal -1 binary64))))
(pow re 2)
(*.f64 re re)
(* 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)
(* -1/4 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(* (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) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(* 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 (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))) (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 (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 (*.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 (-.f64 (*.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 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)
(+ 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/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(*.f64 (*.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) im) im)
(* -1/60 im)
(*.f64 #s(literal -1/60 binary64) im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
(*.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) im)
(+ 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/60 (pow im 5))
(*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/60 binary64))
(* -1 (* (pow im 5) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -1/60 binary64)) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -1/60 binary64))) (pow.f64 im #s(literal 5 binary64)))
(exp (neg im))
(exp.f64 (neg.f64 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)))
(* -1/2520 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/2520 binary64))
(* -1 (* (pow im 3) (+ 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 3 binary64)))
(exp im)
(exp.f64 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 5) (+ 1/60 (+ (* 1/3 (/ 1 (pow im 2))) (/ 2 (pow im 4))))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -1/60 binary64))) (pow.f64 im #s(literal 5 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))

rewrite105.0ms (1.2%)

Memory
29.7MiB live, 117.9MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059343
097335
1332335
01738335
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
27 → 162
Calls
Call 1
Inputs
(*.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 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
#s(approx (* (neg (cos re)) im) (neg.f64 im))
(neg.f64 im)
(*.f64 #s(approx (* 1/2 (cos 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)) #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)
(*.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 (-.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)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 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))
(exp.f64 (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#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))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (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 (-.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 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 im im) #s(literal -2 binary64)) im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) 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 (-.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 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 (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))
(/.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 #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)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (* 1/2 (cos 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)) #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)
(*.f64 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 (-.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)) im) (-.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 #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))) im) (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 im (-.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 im (+.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 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) (*.f64 im #s(literal -2 binary64)))
(fma.f64 im #s(literal -2 binary64) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (*.f64 im #s(literal -2 binary64)))
(+.f64 (*.f64 im #s(literal -2 binary64)) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) 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 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #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)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(/.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 (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)))
#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)))))
(pow.f64 (exp.f64 im) #s(literal -1 binary64))
(/.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 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.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) (neg.f64 (exp.f64 im)))
(/.f64 #s(literal 1 binary64) (exp.f64 im))
(-.f64 (cosh.f64 im) (sinh.f64 im))
(exp.f64 (neg.f64 im))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(*.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 (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 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) (*.f64 im im)) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im)
(*.f64 im (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) im) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) im) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64))) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64))))
(*.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 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.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 im im) #s(literal -2 binary64)) im))
(*.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 (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 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 1/60 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal -1/2520 binary64) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) (*.f64 im im)) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/151200 binary64) #s(literal 1/3600 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/2520 binary64)) #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))

eval29.0ms (0.3%)

Memory
12.9MiB live, 58.1MiB allocated; 9ms collecting garbage
Compiler

Compiled 7 271 to 1 029 computations (85.8% saved)

prune29.0ms (0.3%)

Memory
7.0MiB live, 58.6MiB allocated; 11ms collecting garbage
Pruning

28 alts after pruning (25 fresh and 3 done)

PrunedKeptTotal
New19312205
Fresh21315
Picked325
Done011
Total19828226
Accuracy
99.9%
Counts
226 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(*.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 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
49.9%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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)))
16.1%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
39.7%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
57.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
58.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
57.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #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))))
56.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))
34.7%
#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)))
33.8%
#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)))
83.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
57.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
44.8%
#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))
33.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (neg.f64 re) (PI.f64))) im))
83.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
44.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
40.4%
#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))
41.8%
#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))
58.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
57.8%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
52.9%
#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)))
40.4%
#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))))
40.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
30.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) im)))))
Compiler

Compiled 1 648 to 1 231 computations (25.3% saved)

simplify174.0ms (1.9%)

Memory
-33.5MiB live, 203.0MiB allocated; 37ms collecting garbage
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
063473
0100468
1192463
2483452
31629452
44309435
09368426
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))
(cos.f64 re)
re
(neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))
(fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)
(*.f64 im im)
im
(*.f64 im #s(literal 1/6 binary64))
#s(literal 1/6 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 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) 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))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#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 (* (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)))
(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))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im))
#s(literal -1/24 binary64)
(*.f64 (*.f64 re re) im)
(*.f64 re re)
re
im
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
(neg.f64 im)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 #s(literal -1/2520 binary64) im)
#s(literal -1/2520 binary64)
im
#s(literal 1/60 binary64)
#s(literal 1/3 binary64)
(*.f64 im im)
#s(literal -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 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re))
(cos.f64 re)
re
(neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(*.f64 im im)
im
(*.f64 im #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) im)
#s(literal 1/6 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 im im) #s(literal -1/6 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) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) 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 (* (- (exp (neg im)) (exp im)) 1/2) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#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))) #s(approx (* (neg (cos re)) im) (*.f64 im (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64)))))
#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 (* (neg (cos re)) im) (*.f64 im (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64))))
(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))
(*.f64 im (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im)) re)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) im)
(fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) im)
#s(literal -1/24 binary64)
(*.f64 (*.f64 re re) im)
(*.f64 re re)
re
im
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 im #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(neg.f64 im)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im)
(-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 #s(literal -1/2520 binary64) im)
#s(literal -1/2520 binary64)
im
#s(literal 1/60 binary64)
#s(literal 1/3 binary64)
(*.f64 im im)
#s(literal -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 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 re re)))))
(*.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 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 re re))))
(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))
(neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize344.0ms (3.8%)

Memory
21.0MiB live, 480.9MiB allocated; 65ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
accuracy4.026688502978744
(*.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)))
accuracy21.541437319982844
#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))))
accuracy32.46636344408786
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.09765625
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
accuracy0.125
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
accuracy4.977092531210412
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy28.38436782004175
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.10546875
(fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im))
accuracy6.693150817100605
(*.f64 (*.f64 re re) im)
accuracy27.478584712187192
#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))))
accuracy30.224326163011025
#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)))
accuracy0.04296875
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
accuracy0.11328125
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
accuracy10.341378990393583
#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))
accuracy23.117952224591402
#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)))
accuracy0.05859375
(fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)
accuracy0.0859375
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))
accuracy0.32421875
(*.f64 im #s(literal 1/6 binary64))
accuracy10.341665554117867
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
Samples
132.0ms73×1valid
108.0ms65×2valid
62.0ms118×0valid
Compiler

Compiled 348 to 57 computations (83.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 256.0ms
adjust: 85.0ms (33.1% of total)
ival-mult: 78.0ms (30.4% of total)
ival-exp: 41.0ms (16% of total)
const: 25.0ms (9.7% of total)
ival-sub: 9.0ms (3.5% of total)
ival-add: 8.0ms (3.1% of total)
ival-cos: 6.0ms (2.3% of total)
ival-neg: 3.0ms (1.2% of total)
exact: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series49.0ms (0.5%)

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

6 calls:

TimeVariablePointExpression
25.0ms
im
@-inf
((+ (* (* im im) (* im 1/6)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (cos re) (* (+ (* (* im im) -1/6) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* im im) -1/6) -1) (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (+ (* (* (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) re) re) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* (* (- (* (* -1/2520 im) im) 1/60) im) im) 1/3) (* im im)) -2) im) (- (exp (neg im)) (exp 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) (* im 1/6) (* (* re re) im) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im))
10.0ms
im
@inf
((+ (* (* im im) (* im 1/6)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (cos re) (* (+ (* (* im im) -1/6) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* im im) -1/6) -1) (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (+ (* (* (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) re) re) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* (* (- (* (* -1/2520 im) im) 1/60) im) im) 1/3) (* im im)) -2) im) (- (exp (neg im)) (exp 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) (* im 1/6) (* (* re re) im) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im))
4.0ms
im
@0
((+ (* (* im im) (* im 1/6)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (cos re) (* (+ (* (* im im) -1/6) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* im im) -1/6) -1) (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (+ (* (* (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) re) re) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* (* (- (* (* -1/2520 im) im) 1/60) im) im) 1/3) (* im im)) -2) im) (- (exp (neg im)) (exp 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) (* im 1/6) (* (* re re) im) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im))
3.0ms
re
@inf
((+ (* (* im im) (* im 1/6)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (cos re) (* (+ (* (* im im) -1/6) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* im im) -1/6) -1) (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (+ (* (* (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) re) re) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* (* (- (* (* -1/2520 im) im) 1/60) im) im) 1/3) (* im im)) -2) im) (- (exp (neg im)) (exp 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) (* im 1/6) (* (* re re) im) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im))
3.0ms
re
@-inf
((+ (* (* im im) (* im 1/6)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (cos re) (* (+ (* (* im im) -1/6) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (* im im) -1/6) -1) (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (+ (* (* (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) re) re) (neg im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (neg (cos re)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (- (* (* (- (* (* -1/2520 im) im) 1/60) im) im) 1/3) (* im im)) -2) im) (- (exp (neg im)) (exp 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) (* im 1/6) (* (* re re) im) (* (* -1/2520 im) im) (* (* (- (* (* -1/2520 im) im) 1/60) im) im))

simplify147.0ms (1.6%)

Memory
26.3MiB live, 158.7MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02861205
19801092
244751074
08190987
Stop Event
iter limit
node limit
Counts
88 → 87
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 (+ im (* 1/6 (pow im 3))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* 1/2 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (* (pow re 2) (+ im (* 1/6 (pow im 3))))) (* 1/2 (+ im (* 1/6 (pow im 3)))))))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* 1/2 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (+ im (* 1/6 (pow im 3)))) (* 1/720 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))))))
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 im)
(+ (* -1/24 (* im (pow re 2))) (* 1/2 im))
(* -1 im)
(- (* 1/2 (* im (pow re 2))) im)
(- (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))) 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/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)))
(* im (pow re 2))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* -1 (* (cos re) (+ im (* 1/6 (pow im 3)))))
(cos re)
(* -1/24 (* im (pow re 2)))
(* (pow re 2) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2)))))
(* -1/24 (* im (pow re 4)))
(* (pow re 4) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2)))))
(* (pow re 4) (+ (* -1 (/ im (pow re 4))) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2))))))
(* -1 (* im (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
(* im (+ 1 (* 1/6 (pow im 2))))
(* 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)))))))))
(* 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)
(* im (+ 1/2 (* -1/24 (pow re 2))))
(* im (- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1))
(* -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))
(* -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/2520 (pow im 2))
(* -1/60 (pow im 2))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(* 1/6 (pow im 3))
(* (pow im 3) (+ 1/6 (/ 1 (pow im 2))))
(* -1/6 (* (pow im 3) (cos re)))
(* (pow im 3) (+ (* -1 (/ (cos re) (pow im 2))) (* -1/6 (cos re))))
(* -1/6 (pow im 3))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(- (exp (neg im)) (exp im))
(* -1/2520 (pow im 7))
(* -1 (* (pow im 7) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(* (pow im 7) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 4))) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (neg im)) (exp im)))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(* -1 (* (pow im 3) (+ (* 1/6 (cos re)) (/ (cos re) (pow im 2)))))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(* -1 (* im (- (* 1/24 (pow re 2)) 1/2)))
(* -1 (* im (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))))
(- (exp (* -1 im)) (exp im))
(* -1 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (* 1/60 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (+ (* 1/60 (/ 1 (pow im 2))) (* 2 (/ 1 (pow im 6))))))))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (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)))))))
(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 (*.f64 re re) #s(literal -1/4 binary64) #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 (+ im (* 1/6 (pow im 3))))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* 1/2 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (* (pow re 2) (+ im (* 1/6 (pow im 3))))) (* 1/2 (+ im (* 1/6 (pow im 3)))))))
(fma.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)))
(+ (* -1 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* 1/2 (+ im (* 1/6 (pow im 3)))) (* (pow re 2) (+ (* -1/24 (+ im (* 1/6 (pow im 3)))) (* 1/720 (* (pow re 2) (+ im (* 1/6 (pow im 3))))))))))
(fma.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (fma.f64 #s(literal 1/720 binary64) (*.f64 re re) #s(literal -1/24 binary64)))))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 im)
(*.f64 #s(literal 1/2 binary64) im)
(+ (* -1/24 (* im (pow re 2))) (* 1/2 im))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) im)
(* -1 im)
(neg.f64 im)
(- (* 1/2 (* im (pow re 2))) im)
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im)
(- (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))) im)
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) (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 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 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 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) im (*.f64 (*.f64 #s(literal 1/720 binary64) im) (pow.f64 re #s(literal 4 binary64)))) (*.f64 re re) (neg.f64 im))
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 (*.f64 #s(literal 1/48 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
(* im (pow re 2))
(*.f64 (*.f64 re re) im)
(* 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 (* (cos re) (+ im (* 1/6 (pow im 3)))))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(cos re)
(cos.f64 re)
(* -1/24 (* im (pow re 2)))
(*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))
(* (pow re 2) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2)))))
(*.f64 (*.f64 (fma.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64) (*.f64 #s(literal -1/24 binary64) im)) re) re)
(* -1/24 (* im (pow re 4)))
(*.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/24 binary64)) im)
(* (pow re 4) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2)))))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64) (*.f64 #s(literal -1/24 binary64) im)))
(* (pow re 4) (+ (* -1 (/ im (pow re 4))) (+ (* -1/24 im) (* 1/2 (/ im (pow re 2))))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 #s(literal 1/2 binary64) re) (fma.f64 #s(literal -1/24 binary64) im (/.f64 (neg.f64 im) (pow.f64 re #s(literal 4 binary64))))) (pow.f64 re #s(literal 4 binary64)))
(* -1 (* im (cos re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(* 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 (*.f64 re re) #s(literal -1/4 binary64)) (-.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 (*.f64 re re) #s(literal -1/4 binary64))
(* (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
(* im (+ 1 (* 1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 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 #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)
(* im (- (* -1/6 (pow im 2)) 1))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 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
#s(literal -1 binary64)
(- (* -1/6 (pow im 2)) 1)
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(* im (+ 1/2 (* -1/24 (pow re 2))))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) im)
(* im (- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1))
(*.f64 (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)
(* -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)
(* -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 (*.f64 re re) #s(literal -1/4 binary64) #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 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (pow.f64 im #s(literal 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 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))))) im)
(* 1/6 im)
(*.f64 #s(literal 1/6 binary64) im)
(* -1/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
(*.f64 (*.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) im) im)
(* 1/6 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow im 3) (+ 1/6 (/ 1 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(* -1/6 (* (pow im 3) (cos re)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) (cos.f64 re))
(* (pow im 3) (+ (* -1 (/ (cos re) (pow im 2))) (* -1/6 (cos re))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (cos.f64 re) (/.f64 (neg.f64 (cos.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))
(* -1/6 (pow im 3))
(*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(* -1/6 (pow im 2))
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/2520 (pow im 7))
(*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/2520 binary64))
(* -1 (* (pow im 7) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/60 binary64) (*.f64 im im)) #s(literal 1/2520 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -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 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 4))) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/60 binary64) (*.f64 im im)) #s(literal 1/2520 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* (+ 1/2 (* -1/4 (pow re 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/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 (neg.f64 (+.f64 (/.f64 #s(literal 1/60 binary64) (*.f64 im im)) #s(literal 1/2520 binary64))) (pow.f64 im #s(literal 4 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)))
(* -1 (* (pow im 3) (+ (* 1/6 (cos re)) (/ (cos re) (pow im 2)))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (cos.f64 re) (/.f64 (neg.f64 (cos.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(* -1 (* im (- (* 1/24 (pow re 2)) 1/2)))
(*.f64 (neg.f64 im) (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)))
(* -1 (* im (+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))))
(*.f64 (neg.f64 im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (* 1/60 (/ 1 (pow im 2)))))))
(*.f64 (neg.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/2520 binary64)) (/.f64 #s(literal -1/60 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (+ (* 1/60 (/ 1 (pow im 2))) (* 2 (/ 1 (pow im 6))))))))
(*.f64 (neg.f64 (-.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/2520 binary64)) (/.f64 #s(literal -1/60 binary64) (*.f64 im im))) (/.f64 #s(literal -2 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 im #s(literal 7 binary64)))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (* -1 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)))

rewrite199.0ms (2.2%)

Memory
-57.6MiB live, 128.7MiB allocated; 133ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063355
0100349
1333342
02276335
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 229
Calls
Call 1
Inputs
(fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))
(cos.f64 re)
(*.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))) #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 (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) 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))) #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 (* (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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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)) #s(literal 1/2 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(-.f64 (exp.f64 (neg.f64 im)) (exp.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 im #s(literal 1/6 binary64))
(*.f64 (*.f64 re re) im)
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
Outputs
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64))) (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 #s(literal 1/6 binary64) im)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) im) (fabs.f64 im)) (fabs.f64 im) im)
(fma.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) im) (neg.f64 im)) (neg.f64 im) im)
(fma.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) im) im) im im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (*.f64 #s(literal 1/6 binary64) im)) im)
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/6 binary64) im)) im)
(fma.f64 (*.f64 #s(literal 1/6 binary64) im) (*.f64 im im) im)
(fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (*.f64 im im) (*.f64 #s(literal 1/6 binary64) im) im)
(fma.f64 im (*.f64 #s(literal 1/6 binary64) (*.f64 im im)) im)
(fma.f64 im (*.f64 (*.f64 #s(literal 1/6 binary64) im) im) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)))
(-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))
(+.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)) im)
(+.f64 im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re)))
(*.f64 (neg.f64 (cos.f64 re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)))
(neg.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)))
(fma.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)) (*.f64 (cos.f64 re) (neg.f64 im)))
(+.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64))) (*.f64 (cos.f64 re) (neg.f64 im)))
(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 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (*.f64 im (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im))
(+.f64 (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.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 #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 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 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 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 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 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im)))
(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 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #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 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im))) (/.f64 #s(literal -1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) im) im))))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(*.f64 im (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal -1/2 binary64)))
(*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)))
(*.f64 im (+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal -1/24 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 im im) (*.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) (*.f64 #s(literal -1/2 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 im im)))) (neg.f64 (*.f64 im (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal -1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 im im))) (*.f64 im (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal -1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 1/2 binary64)) im))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal -1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/24 binary64) im) (*.f64 re re) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 (*.f64 #s(literal -1/24 binary64) re) (*.f64 re im) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) im (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 (*.f64 re re) (*.f64 im #s(literal -1/24 binary64)) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 #s(literal -1/24 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 re (*.f64 (*.f64 re im) #s(literal -1/24 binary64)) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 #s(literal 1/2 binary64) im (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)))
(fma.f64 im (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) (*.f64 #s(literal 1/2 binary64) im))
(fma.f64 im #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (*.f64 im (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (*.f64 im (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64)))))
(-.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) (*.f64 (neg.f64 im) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (neg.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64))) im))
(-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (neg.f64 (*.f64 (*.f64 re re) im)) #s(literal -1/24 binary64)))
(-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 re re) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)) (*.f64 #s(literal 1/2 binary64) im))
(+.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 re re) im) #s(literal -1/24 binary64)))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64))) (-.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 3 binary64))) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (fabs.f64 re)) (fabs.f64 re) (neg.f64 im))
(fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (neg.f64 re)) (neg.f64 re) (neg.f64 im))
(fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (neg.f64 im))
(fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))
(fma.f64 (*.f64 re re) (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (neg.f64 im))
(fma.f64 re (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) (neg.f64 im))
(-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 binary64)) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im))) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im))))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re)) re))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)))) (*.f64 re re)))
(-.f64 (neg.f64 im) (*.f64 (neg.f64 re) (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re)))
(-.f64 #s(literal 0 binary64) (-.f64 im (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 (neg.f64 im) (-.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re)) (pow.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (neg.f64 im))))
#s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (neg.f64 im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) 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)) #s(literal 1/2 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 im (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64)) im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64))) im) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64)))
(/.f64 (*.f64 im (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) (*.f64 im #s(literal -2 binary64)))
(fma.f64 im #s(literal -2 binary64) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im)) (*.f64 im #s(literal -2 binary64)))
(+.f64 (*.f64 im #s(literal -2 binary64)) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im)))
(/.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)))
#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 #s(literal 1/6 binary64) im)
(*.f64 im #s(literal 1/6 binary64))
(*.f64 (*.f64 im (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 im (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 re im) re)
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) im))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) im))
(*.f64 (*.f64 re re) im)
(*.f64 re (*.f64 re im))
(*.f64 im (*.f64 re re))
(*.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 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) (*.f64 im im)) (fma.f64 (*.f64 #s(literal -1/2520 binary64) im) im #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 3 binary64)) #s(literal 1/216000 binary64)) (*.f64 im im)) (fma.f64 #s(literal 1/60 binary64) (fma.f64 (*.f64 #s(literal -1/2520 binary64) im) im #s(literal 1/60 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 2 binary64))))

eval38.0ms (0.4%)

Memory
39.6MiB live, 86.2MiB allocated; 3ms collecting garbage
Compiler

Compiled 11 824 to 1 519 computations (87.2% saved)

prune56.0ms (0.6%)

Memory
-33.9MiB live, 62.2MiB allocated; 12ms collecting garbage
Pruning

34 alts after pruning (29 fresh and 5 done)

PrunedKeptTotal
New29314307
Fresh51520
Picked325
Done033
Total30134335
Accuracy
99.9%
Counts
335 → 34
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(*.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 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
49.9%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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)))
16.1%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
39.7%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
58.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
58.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
57.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
56.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))
34.7%
#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)))
33.8%
#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)))
83.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
57.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
44.8%
#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))
33.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 (+.f64 (neg.f64 re) (PI.f64))) im))
83.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
44.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
16.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
40.4%
#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))
41.8%
#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))
52.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im))))
52.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
58.6%
#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)))
57.8%
#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)))
58.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
52.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im)))
23.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im)))
23.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))))
56.5%
#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 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)))
40.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (neg.f64 im))))
41.8%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
40.4%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 binary64)) im)))
34.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
44.3%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (cos.f64 re) (/.f64 (neg.f64 (cos.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))))
Compiler

Compiled 2 750 to 1 138 computations (58.6% saved)

regimes88.0ms (1%)

Memory
27.0MiB live, 117.8MiB allocated; 7ms collecting garbage
Counts
53 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) 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 (-.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)))
(*.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)))
(*.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 (*.f64 #s(literal -1/2520 binary64) 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 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
(*.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))) #s(approx (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (cos.f64 re) (/.f64 (neg.f64 (cos.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) 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))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
Outputs
(*.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)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
Calls

6 calls:

23.0ms
re
16.0ms
(cos.f64 re)
13.0ms
im
12.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
10.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.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))
92.1%1(cos.f64 re)
92.1%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
99.9%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
92.1%1re
99.9%2im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes28.0ms (0.3%)

Memory
-1.6MiB live, 48.5MiB allocated; 7ms collecting garbage
Counts
52 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) 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 (-.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)))
(*.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)))
(*.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 (*.f64 #s(literal -1/2520 binary64) 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 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
(*.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))) #s(approx (* (cos re) (neg (+ (* (* im im) (* im 1/6)) im))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (cos.f64 re) (/.f64 (neg.f64 (cos.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (cos re) (neg (+ (* 1/6 (pow im 3)) im))) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (cos.f64 re) (/.f64 (/.f64 (cos.f64 re) im) 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))
Outputs
(*.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)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Calls

2 calls:

16.0ms
im
10.0ms
(-.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))
99.9%2im
Compiler

Compiled 8 to 9 computations (-12.5% saved)

regimes58.0ms (0.6%)

Memory
-5.3MiB live, 40.8MiB allocated; 3ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) 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 (-.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)))
(*.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)))
(*.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 (*.f64 #s(literal -1/2520 binary64) 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 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.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))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 #s(approx (+ (* 1/6 (pow im 3)) im) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) #s(approx (neg (+ (* 1/6 (pow im 3)) im)) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64))))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im)))
Outputs
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 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)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Calls

3 calls:

34.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
12.0ms
im
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.9%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
92.1%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
98.7%3im
Compiler

Compiled 20 to 20 computations (0% saved)

regimes11.0ms (0.1%)

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

regimes36.0ms (0.4%)

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

1 calls:

34.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.5%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
17.1MiB live, 17.1MiB allocated; 0ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) 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 (-.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)))
(*.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)))
(*.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 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) 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)))
(*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
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.2%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)

regimes18.0ms (0.2%)

Memory
-20.2MiB live, 26.5MiB allocated; 3ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) 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 (-.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)))
(*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
Calls

1 calls:

16.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.1%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)

regimes9.0ms (0.1%)

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

1 calls:

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
99.0%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)

regimes9.0ms (0.1%)

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

1 calls:

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
99.0%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)

regimes41.0ms (0.5%)

Memory
-32.5MiB live, 20.0MiB allocated; 5ms collecting garbage
Counts
34 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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)) (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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
Calls

2 calls:

32.0ms
im
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
89.2%3im
98.6%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)

regimes65.0ms (0.7%)

Memory
7.8MiB live, 53.4MiB allocated; 4ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 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 (neg.f64 re) (PI.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 (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))) (*.f64 (neg.f64 (cos.f64 re)) im))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
Calls

5 calls:

33.0ms
(cos.f64 re)
9.0ms
re
8.0ms
(*.f64 #s(literal 1/2 binary64) (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)))
7.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Results
AccuracySegmentsBranch
86.6%2(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
78.2%4(cos.f64 re)
78.2%4(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
73.0%2re
94.2%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 26 to 28 computations (-7.7% saved)

regimes48.0ms (0.5%)

Memory
-10.9MiB live, 81.1MiB allocated; 5ms collecting garbage
Counts
31 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
(*.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 (-.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)) #s(literal 1/2 binary64)) #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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2520 binary64) im) im) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))
(*.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 (-.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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (* im im) -1/6) -1) im) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))))
Outputs
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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))) #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)))
Calls

6 calls:

8.0ms
im
8.0ms
re
8.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
8.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
8.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
61.8%1re
72.3%2(cos.f64 re)
72.3%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
65.2%2(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
65.2%2im
72.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 27 to 30 computations (-11.1% saved)

regimes15.0ms (0.2%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes30.0ms (0.3%)

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

3 calls:

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

Compiled 18 to 19 computations (-5.6% saved)

regimes18.0ms (0.2%)

Memory
31.8MiB live, 31.8MiB allocated; 0ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #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))) #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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 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) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.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)))
Outputs
#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))) (*.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))
Calls

3 calls:

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

Compiled 18 to 19 computations (-5.6% saved)

regimes22.0ms (0.2%)

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

3 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)))
5.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
5.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
70.9%2(cos.f64 re)
70.9%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
70.9%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)

regimes18.0ms (0.2%)

Memory
-9.0MiB live, 37.1MiB allocated; 6ms collecting garbage
Counts
19 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 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 (*.f64 re re) #s(literal -1/4 binary64) #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))))
(*.f64 #s(approx (* 1/2 (cos 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)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) 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 (* (+ (* (* re re) -1/4) 1/2) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #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 (* (- (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)))
Calls

3 calls:

8.0ms
(cos.f64 re)
5.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
70.1%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
70.1%2(cos.f64 re)
70.1%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes16.0ms (0.2%)

Memory
-13.3MiB live, 33.1MiB allocated; 4ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 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))) (*.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))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re) (neg.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re (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 (*.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 (* (neg (cos re)) im) (-.f64 (fma.f64 (*.f64 (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) re) re #s(literal 0 binary64)) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (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 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
Calls

3 calls:

4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(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
67.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
67.6%2(cos.f64 re)
67.6%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes20.0ms (0.2%)

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

6 calls:

3.0ms
re
3.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
3.0ms
im
3.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
56.8%2re
52.9%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
56.3%3im
62.6%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
62.6%2(cos.f64 re)
62.6%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes5.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 im (neg.f64 im)) im)))
Outputs
#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 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im)))
Calls

2 calls:

2.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
2.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
62.6%2(cos.f64 re)
62.6%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes9.0ms (0.1%)

Memory
20.1MiB live, 20.1MiB allocated; 0ms 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im)))
Calls

5 calls:

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

Compiled 20 to 23 computations (-15% saved)

regimes11.0ms (0.1%)

Memory
-24.1MiB live, 21.0MiB allocated; 6ms collecting garbage
Counts
2 → 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))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Calls

6 calls:

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

Compiled 27 to 30 computations (-11.1% saved)

regimes6.0ms (0.1%)

Memory
20.8MiB live, 20.8MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 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)))
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Calls

6 calls:

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

bsearch20.0ms (0.2%)

Memory
-18.0MiB live, 28.0MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
18.0ms
0.0013476609775399321
0.21310509201109282
Samples
13.0ms112×0valid
Compiler

Compiled 302 to 254 computations (15.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-cos: 3.0ms (41.2% of total)
ival-exp: 2.0ms (27.5% of total)
ival-sub: 1.0ms (13.7% of total)
ival-mult: 1.0ms (13.7% 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)

bsearch6.0ms (0.1%)

Memory
5.5MiB live, 5.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
5.0ms
0.0013476609775399321
0.21310509201109282
Samples
3.0ms32×0valid
Compiler

Compiled 288 to 247 computations (14.2% saved)

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

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-0.21472174319650522
-0.0013476613854747632
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-0.21472174319650522
-0.0013476613854747632
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-0.21472174319650522
-0.0013476613854747632
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9210445888287504e-5
+inf
0.0ms
-2.29658488165585e-6
-5.058263489368476e-9
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.9210445888287504e-5
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.05876041213741876
-0.04157084926751582
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1550.134267691079
-0.21472174319650522
Compiler

Compiled 15 to 16 computations (-6.7% saved)

simplify60.0ms (0.7%)

Memory
-1.5MiB live, 44.4MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02002001
12931997
24881997
310751997
427201933
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 im #s(literal 8070450532247929/576460752303423488 binary64)) (*.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)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))))
(if (<=.f64 im #s(literal 1080863910568919/72057594037927936 binary64)) (*.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)) (-.f64 (exp.f64 (-.f64 #s(literal 0 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 -3602879701896397/18014398509481984 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.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 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 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))) (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 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 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))) (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 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 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))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -4722366482869645/2361183241434822606848 binary64)) #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))) (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 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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))) #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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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))) #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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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 (* (- (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))))
(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 (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))) (*.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)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 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 (*.f64 re re) #s(literal -1/4 binary64) #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 (* (- (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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 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 (*.f64 re re) #s(literal -1/4 binary64) #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 (* (- (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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (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 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (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 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #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 (*.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 #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 -1000 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im))) #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))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Outputs
(if (<=.f64 im #s(literal 8070450532247929/576460752303423488 binary64)) (*.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)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))))
(if (<=.f64 im #s(literal 1080863910568919/72057594037927936 binary64)) (*.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)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))))
(if (<=.f64 im #s(literal 1080863910568919/72057594037927936 binary64)) (*.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)) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.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 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.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 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 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))) (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 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 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))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 7378697629483821/147573952589676412928 binary64)) (*.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))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))) (-.f64 (exp.f64 (neg.f64 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 -3602879701896397/18014398509481984 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))) (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 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/18014398509481984 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))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 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))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -1000 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 7378697629483821/147573952589676412928 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))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -1000 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 7378697629483821/147573952589676412928 binary64)) (*.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 (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 (*.f64 im im) (*.f64 im #s(literal 1/6 binary64)) im)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -1000 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 7378697629483821/147573952589676412928 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -1000 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 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -1000 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 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(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 -4722366482869645/2361183241434822606848 binary64)) #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))) (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 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -4722366482869645/2361183241434822606848 binary64)) #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))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 7378697629483821/147573952589676412928 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)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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))) #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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #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))) #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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (- (exp (- 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 (* (- (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))))
(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 (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))) (*.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)))
(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 (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))) (*.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))) (neg.f64 im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 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 (*.f64 re re) #s(literal -1/4 binary64) #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 (* (- (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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 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 (*.f64 re re) #s(literal -1/4 binary64) #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 (* (- (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))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (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 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* (* re re) im)) (* 1/2 im)) (*.f64 #s(literal 1/2 binary64) im)) re) re (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 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -3602879701896397/72057594037927936 binary64)) #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 (*.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 #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 -1000 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.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 -1000 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im))) #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))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))

derivations1.1s (12.6%)

Memory
-5.0MiB live, 805.5MiB allocated; 108ms collecting garbage
Stop Event
fuel
Compiler

Compiled 2 051 to 201 computations (90.2% saved)

preprocess196.0ms (2.2%)

Memory
2.5MiB live, 331.0MiB allocated; 46ms collecting garbage
Remove

(abs re)

Compiler

Compiled 4 480 to 662 computations (85.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...