math.sin on complex, imaginary part

Time bar (total: 10.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.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.0s (28.3%)

Memory
58.7MiB live, 3 832.4MiB allocated; 905ms collecting garbage
Samples
1.3s1 641×2valid
648.0ms2 425×1valid
528.0ms4 190×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.1s
ival-exp: 1.2s (57.2% of total)
ival-cos: 339.0ms (16.3% of total)
ival-mult: 230.0ms (11% of total)
adjust: 181.0ms (8.7% of total)
ival-sub: 122.0ms (5.9% of total)
exact: 10.0ms (0.5% of total)
ival-true: 7.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain211.0ms (2%)

Memory
25.8MiB live, 466.0MiB allocated; 50ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1250-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)
01(4.594092219358691e-246 -465.46721544179314)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))cancellation1250
exp.f64(exp.f64 (-.f64 #s(literal 0 binary64) im))sensitivity10
Confusion
Predicted +Predicted -
+1250
-1130
Precision
0.9920634920634921
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+12500
-10130
Precision?
0.9920634920634921
Recall?
1.0
Freqs
test
numberfreq
0130
1126
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
44.0ms170×1valid
39.0ms78×2valid
29.0ms264×0valid
Compiler

Compiled 92 to 37 computations (59.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 87.0ms
ival-exp: 48.0ms (55.2% of total)
ival-cos: 14.0ms (16.1% of total)
adjust: 9.0ms (10.4% of total)
ival-mult: 8.0ms (9.2% of total)
ival-sub: 6.0ms (6.9% of total)
ival-true: 1.0ms (1.2% of total)
exact: 1.0ms (1.2% of total)
ival-assert: 0.0ms (0% of total)

preprocess194.0ms (1.9%)

Memory
10.5MiB live, 228.7MiB allocated; 54ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

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

(abs re)

(negabs im)

Compiler

Compiled 12 to 11 computations (8.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.9%
(*.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)

simplify171.0ms (1.6%)

Memory
-0.7MiB live, 243.0MiB allocated; 32ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01138
01834
13834
27334
320634
487828
0927728
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(-.f64 #s(literal 0 binary64) im)
#s(literal 0 binary64)
im
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) (cos.f64 re))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(exp.f64 (neg.f64 im))
(-.f64 #s(literal 0 binary64) im)
(neg.f64 im)
#s(literal 0 binary64)
im
(exp.f64 im)

localize91.0ms (0.9%)

Memory
-46.9MiB live, 204.0MiB allocated; 37ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.0
(cos.f64 re)
accuracy0.08203125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
accuracy28.874471314447508
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Samples
32.0ms85×1valid
29.0ms132×0valid
18.0ms39×2valid
Compiler

Compiled 40 to 13 computations (67.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 64.0ms
ival-exp: 29.0ms (45.2% of total)
ival-mult: 19.0ms (29.6% of total)
ival-cos: 8.0ms (12.5% of total)
adjust: 4.0ms (6.2% of total)
ival-sub: 3.0ms (4.7% 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
11.7MiB live, 11.7MiB allocated; 0ms collecting garbage
Counts
6 → 31
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(-.f64 #s(literal 0 binary64) im)
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(exp.f64 im)
Outputs
(* 1/2 (- (exp (neg im)) (exp im)))
(+ (* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/48 (* (pow re 2) (- (exp (neg im)) (exp im)))))))
(+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/48 (- (exp (neg im)) (exp im))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@0
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
im
@inf
((* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (- (exp (- 0 im)) (exp im)) (- 0 im) (* 1/2 (cos re)) (cos re) (exp im))
1.0ms
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))

simplify264.0ms (2.5%)

Memory
22.8MiB live, 248.8MiB allocated; 70ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126381
1387349
21339342
34642321
08098294
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))

rewrite62.0ms (0.6%)

Memory
7.3MiB live, 96.9MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
01827
16427
044127
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 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 im (neg.f64 im)))
(/.f64 (*.f64 im (neg.f64 im)) im)
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 im im))
(neg.f64 im)
(-.f64 (/.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 im im) im))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 im im)))
(-.f64 #s(literal 0 binary64) im)
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval9.0ms (0.1%)

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

Compiled 1 426 to 304 computations (78.7% saved)

prune20.0ms (0.2%)

Memory
-42.1MiB live, 19.4MiB 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
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)))
88.1%
(*.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)))
80.6%
(*.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)))
51.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(literal -2 binary64) im)))
40.6%
#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))))
42.0%
#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)))
51.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
80.6%
#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 370 to 296 computations (20% saved)

simplify208.0ms (2%)

Memory
-6.2MiB live, 230.0MiB allocated; 52ms collecting garbage
Algorithm
egg-herbie
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
(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
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 #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: 4 (0.0ms)

IterNodesCost
046364
073357
1143357
2324357
3863357
42552344
09235344
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 #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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
#s(literal -1/3 binary64)
(*.f64 im im)
im
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)
Outputs
(*.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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
#s(literal -1/3 binary64)
(*.f64 im im)
im
#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))) (neg.f64 (*.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))
(neg.f64 (*.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)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize476.0ms (4.6%)

Memory
43.0MiB live, 352.7MiB allocated; 102ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy2.399527084067134
(*.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)))
accuracy23.67677406221917
#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))))
accuracy28.874471314447508
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy22.179810176382954
#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)))
accuracy28.874471314447508
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.0546875
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
accuracy0.08203125
(*.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)))
accuracy0.09765625
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
accuracy12.345062879201505
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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.140625
(*.f64 (neg.f64 (cos.f64 re)) im)
accuracy31.149777692392362
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
accuracy0.13671875
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
accuracy0.15234375
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
accuracy0.16015625
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.965468092278943
#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
288.0ms132×0valid
95.0ms85×1valid
46.0ms39×2valid
Compiler

Compiled 283 to 41 computations (85.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 389.0ms
ival-sub: 276.0ms (71% of total)
ival-exp: 31.0ms (8% of total)
ival-mult: 30.0ms (7.7% of total)
const: 21.0ms (5.4% of total)
adjust: 17.0ms (4.4% of total)
ival-cos: 6.0ms (1.5% of total)
ival-add: 5.0ms (1.3% of total)
ival-neg: 2.0ms (0.5% of total)
exact: 1.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series23.0ms (0.2%)

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

6 calls:

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

simplify659.0ms (6.3%)

Memory
-117.7MiB live, 398.2MiB allocated; 865ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0235894
1774813
23291798
08734727
Stop Event
iter limit
node limit
Counts
73 → 73
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/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* -1 (cos re))
(* -1/4 (* (pow re 2) (- (exp (neg im)) (exp im))))
(* (pow re 2) (+ (* -1/4 (- (exp (neg im)) (exp im))) (* 1/2 (/ (- (exp (neg im)) (exp im)) (pow re 2)))))
(* -1/4 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(* -2 (* im (+ 1/2 (* -1/4 (pow re 2)))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/3 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/60 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/3 (+ 1/2 (* -1/4 (pow re 2)))) (* (pow im 2) (+ (* -1/60 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/2520 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))))))
(* -1/2520 (pow im 2))
(* -1/60 im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
(* -1/60 (pow im 2))
(* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60))
-2
(- (* -1/3 (pow im 2)) 2)
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp (neg im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (neg im)) (exp im)))
(* -1/2520 (pow im 3))
(* -1 (* (pow im 3) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1/3 (pow im 2))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(exp im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(exp (* -1 im))
(* (+ 1/2 (* -1/4 (pow re 2))) (- (exp (* -1 im)) (exp im)))
Outputs
(* 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/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))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im)
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(fma.f64 (*.f64 #s(literal -1/24 binary64) im) (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im))
(+ (* -1 im) (* (pow re 2) (+ (* 1/2 im) (* (pow re 2) (+ (* -1/24 im) (* 1/720 (* im (pow re 2))))))))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (*.f64 re re) im) (*.f64 #s(literal -1/24 binary64) im))))
-1
#s(literal -1 binary64)
(- (* 1/2 (pow re 2)) 1)
(fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))
(- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1)
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 re re)) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64))
(* 1/2 (* (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/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 (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* -1/120 (* (pow im 2) (cos re)))))))
(*.f64 (fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (cos.f64 re))) im)
(* im (+ (* -1 (cos re)) (* (pow im 2) (+ (* -1/6 (cos re)) (* (pow im 2) (+ (* -1/120 (cos re)) (* -1/5040 (* (pow im 2) (cos re)))))))))
(*.f64 (fma.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (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 (-.f64 (*.f64 (*.f64 (fma.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)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal -1 binary64)) im #s(literal 1 binary64))
(* -2 (* im (+ 1/2 (* -1/4 (pow re 2)))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)) im)
(* im (+ (* -2 (+ 1/2 (* -1/4 (pow re 2)))) (* -1/3 (* (pow im 2) (+ 1/2 (* -1/4 (pow re 2)))))))
(*.f64 (*.f64 (fma.f64 (*.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 (pow.f64 im #s(literal 3 binary64)) (*.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))) (*.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/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 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/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)
-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))
(+ 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))
(exp (neg im))
(exp.f64 (neg.f64 im))
(* (+ 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 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)))
(* -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/3 (pow im 2))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(* -1/3 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (pow.f64 im #s(literal 3 binary64)))
(exp im)
(exp.f64 im)
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (- (exp (* -1 im)) (exp im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(exp (* -1 im))
(exp.f64 (neg.f64 im))
(* (+ 1/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)))

rewrite94.0ms (0.9%)

Memory
-14.4MiB live, 129.5MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046254
073247
1245247
01563247
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 177
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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 (-.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))
#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 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) 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 #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 #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 #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 #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 #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 #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 #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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) 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 (-.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)))
#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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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)) (+.f64 #s(literal 1/8 binary64) (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 (*.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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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))) (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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))) (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (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))))
(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 (*.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 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 (-.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 #s(literal 4 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64))) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) im #s(literal -2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) im) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/3 binary64) im)) im))
(-.f64 #s(literal -2 binary64) (*.f64 #s(literal 1/3 binary64) (*.f64 im im)))
(-.f64 #s(literal -2 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal -1/3 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))) (/.f64 #s(literal -8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(+.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) im) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64))) im) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (*.f64 im (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 im #s(literal -2 binary64)))
(fma.f64 im #s(literal -2 binary64) (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im))
(+.f64 (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) (*.f64 im #s(literal -2 binary64)))
(+.f64 (*.f64 im #s(literal -2 binary64)) (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval37.0ms (0.4%)

Memory
12.1MiB live, 103.5MiB allocated; 7ms collecting garbage
Compiler

Compiled 9 986 to 1 246 computations (87.5% saved)

prune21.0ms (0.2%)

Memory
11.4MiB live, 56.5MiB allocated; 6ms collecting garbage
Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New29316309
Fresh303
Picked415
Done000
Total30017317
Accuracy
99.9%
Counts
317 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
59.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
53.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
52.2%
(*.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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
60.2%
(*.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)))
50.9%
#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))
41.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
80.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
51.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (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)))))) im))
51.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
38.5%
#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))
38.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
36.3%
#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))
60.2%
#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)))
56.9%
#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)))
50.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
28.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 978 to 725 computations (25.9% saved)

simplify192.0ms (1.8%)

Memory
2.3MiB live, 280.7MiB allocated; 66ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058501
090490
1169490
2410490
31218490
43571490
09374483
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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) 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
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
#s(literal -1/24 binary64)
(*.f64 re re)
re
#s(literal 1/2 binary64)
#s(literal -1 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)))
#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 #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)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im)))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
#s(literal -2 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/3 binary64))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) 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
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #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 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re)
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))
#s(literal -1/24 binary64)
(*.f64 re re)
re
#s(literal 1/2 binary64)
#s(literal -1 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 (- (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)) #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 #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)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im))
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im)))
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)
(+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
#s(literal -2 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)

localize402.0ms (3.9%)

Memory
-12.4MiB live, 413.9MiB allocated; 53ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.08203125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
accuracy0.22927619043695338
(/.f64 #s(literal -2 binary64) (*.f64 im im))
accuracy12.345062879201505
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
accuracy13.795481243393366
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
accuracy0.15234375
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
accuracy0.16015625
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.965468092278943
#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))
accuracy29.164114307726656
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.140625
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
accuracy0.3212162580999611
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
accuracy31.149777692392362
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
accuracy31.32602289975803
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
accuracy0.0
(neg.f64 im)
accuracy29.0259494561732
#s(approx (* (neg (cos re)) im) (neg.f64 im))
accuracy31.149777692392362
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
accuracy0.05078125
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
accuracy0.08203125
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
accuracy0.18359375
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
accuracy12.345062879201505
#s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
Samples
161.0ms132×0valid
133.0ms39×2valid
69.0ms85×1valid
Compiler

Compiled 320 to 47 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 331.0ms
ival-mult: 194.0ms (58.7% of total)
ival-div: 38.0ms (11.5% of total)
ival-exp: 24.0ms (7.3% of total)
const: 23.0ms (7% of total)
adjust: 19.0ms (5.7% of total)
ival-add: 16.0ms (4.8% of total)
ival-sub: 7.0ms (2.1% of total)
ival-cos: 6.0ms (1.8% of total)
ival-neg: 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)

series19.0ms (0.2%)

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

6 calls:

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

simplify186.0ms (1.8%)

Memory
32.7MiB live, 180.3MiB allocated; 20ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0204681
1625649
22389629
37465629
08119587
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))))))))
-1
(- (* 1/2 (pow re 2)) 1)
(- (* (pow re 2) (+ 1/2 (* -1/24 (pow re 2)))) 1)
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
(+ 1/2 (* -1/24 (pow re 2)))
(* 1/2 (* (cos re) (- (exp (neg im)) (exp im))))
(* 1/2 (cos re))
(cos re)
(* -1 (* im (cos re)))
(* -1 (cos re))
(* -1/24 (pow re 4))
(* (pow re 4) (- (* 1/2 (/ 1 (pow re 2))) 1/24))
(* (pow re 4) (- (* 1/2 (/ 1 (pow re 2))) (+ 1/24 (/ 1 (pow re 4)))))
(* -1/24 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/24))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 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 (- (* (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/3 (pow im 2))
(* -1/2520 (pow im 2))
(* -1/60 im)
(* im (- (* -1/2520 (pow im 2)) 1/60))
-2
(- (* -1/3 (pow im 2)) 2)
(/ -2 (pow im 2))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 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/2520 (pow im 3))
(* -1 (* (pow im 3) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(- (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))))))))
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 re re) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(+ (* -1 im) (* (pow re 2) (+ (* -1/24 (* im (pow re 2))) (* 1/2 im))))
(fma.f64 (*.f64 (*.f64 im (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))) 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 re re) #s(literal 1/2 binary64) #s(literal -1 binary64))))
-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 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(- (* (pow re 2) (+ 1/2 (* (pow re 2) (- (* 1/720 (pow re 2)) 1/24)))) 1)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 re re)) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal -1 binary64))
(+ 1/2 (* -1/24 (pow re 2)))
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(* 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 (cos re))
(neg.f64 (cos.f64 re))
(* -1/24 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/24 binary64))
(* (pow re 4) (- (* 1/2 (/ 1 (pow re 2))) 1/24))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/24 binary64)))
(* (pow re 4) (- (* 1/2 (/ 1 (pow re 2))) (+ 1/24 (/ 1 (pow re 4)))))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/24 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 4 binary64)))))
(* -1/24 (pow re 2))
(*.f64 #s(literal -1/24 binary64) (*.f64 re re))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/24))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/24 binary64)) re) re)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(* im (+ (* -1 (cos re)) (* -1/6 (* (pow im 2) (cos re)))))
(*.f64 (*.f64 (cos.f64 re) im) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #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 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(* -1/3 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/3 binary64))
(* -1/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 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 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(/ -2 (pow im 2))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
(* -1/3 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(- (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 (+.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 #s(literal -1/60 binary64) (*.f64 im im)) (-.f64 (/.f64 #s(literal -1/3 binary64) (pow.f64 im #s(literal 4 binary64))) #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/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)))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(* 1/2 (* (cos re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (* 1/60 (/ 1 (pow im 2)))))))
(*.f64 (+.f64 (/.f64 #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 (* (pow im 7) (+ 1/2520 (+ (/ 1/3 (pow im 4)) (+ (* 1/60 (/ 1 (pow im 2))) (* 2 (/ 1 (pow im 6))))))))
(*.f64 (+.f64 (+.f64 (/.f64 #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))) (/.f64 #s(literal -2 binary64) (pow.f64 im #s(literal 6 binary64)))) (pow.f64 im #s(literal 7 binary64)))

rewrite172.0ms (1.6%)

Memory
-38.0MiB live, 64.1MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058354
090343
1297343
02076338
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 193
Calls
Call 1
Inputs
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#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)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 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 #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)) #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)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
#s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
Outputs
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 im (-.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) #s(literal 2 binary64)))
(*.f64 im (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) #s(literal -2 binary64)))
(/.f64 (*.f64 im (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64) #s(literal -8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im)))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im)))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 im #s(literal -1/3 binary64)) (*.f64 im im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im))
(fma.f64 im #s(literal -2 binary64) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(fma.f64 im (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 im #s(literal 3 binary64)) (*.f64 #s(literal -2 binary64) im))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 (neg.f64 im) #s(literal -2 binary64)))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64))) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal -1/3 binary64))))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 #s(literal 1/3 binary64) (pow.f64 im #s(literal 3 binary64))))
(+.f64 (/.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #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 im im) #s(literal -1/3 binary64) #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 im im) #s(literal -1/3 binary64) #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 im im) #s(literal -1/3 binary64) #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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #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 (* (* 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 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (neg.f64 im) im))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 im im))
(/.f64 (*.f64 (neg.f64 im) 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)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
(*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im)
(*.f64 im #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))))
#s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (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 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal -1 binary64))
(fma.f64 (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re))
(fma.f64 #s(literal 1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re))
(fma.f64 #s(literal -1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))
(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 re re) (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) #s(literal -1 binary64))
(fma.f64 re (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re)) re))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))) (*.f64 re re)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64)) re) re))
(*.f64 #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)) #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 #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)) #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)
(*.f64 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 (pow.f64 (*.f64 (*.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)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64)) im) (-.f64 (*.f64 (*.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)) im) im) #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.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)) im) im) #s(literal 3 binary64)) #s(literal -8 binary64)) im) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.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)) im) im)) (pow.f64 (*.f64 (*.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)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.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)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 (*.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)) im) im) #s(literal -2 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.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)) 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 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 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 #s(literal -1/2520 binary64) (*.f64 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 #s(literal -1/2520 binary64) (*.f64 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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 im (*.f64 (*.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)) im) im)))
(fma.f64 im (*.f64 (*.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)) im) im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 im #s(literal -2 binary64) (*.f64 (*.f64 (*.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)) im) im) im))
(fma.f64 im #s(literal -2 binary64) (*.f64 im (*.f64 (*.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)) im) im)))
(+.f64 (*.f64 (*.f64 (*.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)) im) im) im) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 im (*.f64 (*.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)) im) im)) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (*.f64 (*.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)) im) im) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 im (*.f64 (*.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)) im) im)))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)) (cos.f64 re)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 im #s(literal -1/3 binary64)) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/3 binary64))
(*.f64 im (*.f64 im #s(literal -1/3 binary64)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal -1/24 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/48 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/48 binary64)))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/48 binary64))))
(fma.f64 (*.f64 #s(literal -1/24 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/24 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/24 binary64) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 #s(literal -1/24 binary64) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/24 binary64) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/24 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/48 binary64)))) (/.f64 #s(literal 1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/48 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal -1/24 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal -1/24 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 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2520 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)
(*.f64 im (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/3600 binary64)) im) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal 1/60 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/3600 binary64))) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal 1/60 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(*.f64 im (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 im im)) (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 3 binary64))) (*.f64 im im)) (-.f64 (+.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 im im))))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (*.f64 (*.f64 im im) (+.f64 #s(literal -1/27 binary64) (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (-.f64 (+.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 im #s(literal -1/3 binary64)) im (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 im #s(literal -1/3 binary64)) im (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im) (*.f64 (*.f64 im im) #s(literal -1/3 binary64)))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 (*.f64 im im) #s(literal -1/3 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 im (*.f64 im #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 im (*.f64 im #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(+.f64 (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)) (*.f64 (*.f64 im im) #s(literal -1/3 binary64)))
(+.f64 (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))) (*.f64 (*.f64 im im) #s(literal -1/3 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(/.f64 (/.f64 #s(literal -2 binary64) (fabs.f64 im)) (fabs.f64 im))
(/.f64 (/.f64 #s(literal -2 binary64) (neg.f64 im)) (neg.f64 im))
(/.f64 (neg.f64 (/.f64 #s(literal -2 binary64) im)) (neg.f64 im))
(/.f64 (/.f64 #s(literal -2 binary64) im) im)
(/.f64 #s(literal 2 binary64) (*.f64 (neg.f64 im) im))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
(neg.f64 (/.f64 #s(literal 2 binary64) (*.f64 im im)))
(neg.f64 (/.f64 #s(literal -2 binary64) (*.f64 (neg.f64 im) im)))

eval33.0ms (0.3%)

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

Compiled 9 426 to 1 324 computations (86% saved)

prune196.0ms (1.9%)

Memory
-7.1MiB live, 39.2MiB allocated; 3ms collecting garbage
Pruning

24 alts after pruning (20 fresh and 4 done)

PrunedKeptTotal
New2569265
Fresh01111
Picked235
Done011
Total25824282
Accuracy
99.9%
Counts
282 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
59.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
53.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
52.2%
(*.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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
42.3%
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
60.2%
(*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
50.5%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
60.2%
(*.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(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.f64 (fma.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)))
56.9%
(*.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(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.f64 #s(literal -1/60 binary64) im)) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
39.5%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
50.9%
#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))
41.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
80.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
51.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (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)))))) im))
51.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
38.5%
#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))
38.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
38.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #s(literal -1 binary64))) im))
36.3%
#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))
60.2%
#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)))
56.9%
#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)))
50.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)))
33.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 (neg.f64 im) im) im)))
28.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 1 413 to 1 048 computations (25.8% saved)

simplify180.0ms (1.7%)

Memory
10.1MiB live, 157.2MiB allocated; 38ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
056488
083478
1171478
2463478
31711470
45527470
08392463
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(cos.f64 re)
re
(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 (* (- (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)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) im)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im)))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
#s(literal -2 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
Outputs
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)) (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (cos.f64 re))
(cos.f64 re)
re
(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 (* (- (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) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 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) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 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)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (cos re)) #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) im)
#s(literal -2 binary64)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 im im)
im
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) 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 (*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im))
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)
(*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im)))
#s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)
(+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
#s(literal -2 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)

localize327.0ms (3.1%)

Memory
-16.4MiB live, 219.6MiB allocated; 25ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.22927619043695338
(/.f64 #s(literal -2 binary64) (*.f64 im im))
accuracy12.345062879201505
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
accuracy13.795481243393366
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
accuracy31.444026752212316
#s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
accuracy0.0546875
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
accuracy0.06640625
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
accuracy4.965864140883234
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
accuracy22.179810176382954
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
accuracy0.08203125
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
accuracy0.18359375
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
accuracy12.345062879201505
#s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
accuracy29.164114307726656
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.0546875
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
accuracy0.09765625
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
accuracy12.34590234071504
#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))
accuracy22.179810176382954
#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.0390625
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
accuracy0.09765625
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
accuracy0.12890625
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
accuracy12.346496756058256
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
Samples
105.0ms85×1valid
70.0ms132×0valid
63.0ms39×2valid
Compiler

Compiled 312 to 49 computations (84.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 180.0ms
adjust: 58.0ms (32.2% of total)
ival-mult: 39.0ms (21.6% of total)
ival-exp: 30.0ms (16.7% of total)
ival-sub: 16.0ms (8.9% of total)
const: 15.0ms (8.3% of total)
ival-add: 12.0ms (6.7% of total)
ival-cos: 6.0ms (3.3% of total)
ival-div: 3.0ms (1.7% of total)
exact: 1.0ms (0.6% of total)
ival-neg: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series26.0ms (0.2%)

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

6 calls:

TimeVariablePointExpression
4.0ms
im
@inf
((* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* im im) -1/6) -1)) (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/3 (* im im)) im) (* -2 im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/3 (* im im)) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* (+ (/ -2 (* im im)) -1/3) (* im im)) (- (exp (- 0 im)) (exp im)) (/ -2 (* im im)))
4.0ms
im
@-inf
((* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* im im) -1/6) -1)) (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/3 (* im im)) im) (* -2 im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/3 (* im im)) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* (+ (/ -2 (* im im)) -1/3) (* im im)) (- (exp (- 0 im)) (exp im)) (/ -2 (* im im)))
3.0ms
im
@0
((* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* im im) -1/6) -1)) (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/3 (* im im)) im) (* -2 im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/3 (* im im)) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* (+ (/ -2 (* im im)) -1/3) (* im im)) (- (exp (- 0 im)) (exp im)) (/ -2 (* im im)))
2.0ms
re
@inf
((* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* im im) -1/6) -1)) (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/3 (* im im)) im) (* -2 im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/3 (* im im)) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* (+ (/ -2 (* im im)) -1/3) (* im im)) (- (exp (- 0 im)) (exp im)) (/ -2 (* im im)))
2.0ms
re
@-inf
((* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (cos re) (+ (* (* im im) -1/6) -1)) (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/3 (* im im)) im) (* -2 im)) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im)) (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* (- (exp (neg im)) (exp im)) 1/2) (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (* 1/2 (cos re)) (+ (* (* re re) -1/4) 1/2) (* re re) (* -1/3 (* im im)) (+ (* -1/5040 (* im im)) -1/120) (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* (+ (/ -2 (* im im)) -1/3) (* im im)) (- (exp (- 0 im)) (exp im)) (/ -2 (* im im)))

simplify177.0ms (1.7%)

Memory
30.6MiB live, 222.4MiB allocated; 21ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

rewrite160.0ms (1.5%)

Memory
-12.3MiB live, 92.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056395
083385
1312385
02198380
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
26 → 286
Calls
Call 1
Inputs
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(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 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(literal -1/3 binary64) (*.f64 im im))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
Outputs
(*.f64 (*.f64 im (cos.f64 re)) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))
(*.f64 (*.f64 (cos.f64 re) im) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im) (cos.f64 re))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (cos.f64 re)) im)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (*.f64 (cos.f64 re) im))
(*.f64 im (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) im (*.f64 (neg.f64 (cos.f64 re)) im))
(fma.f64 im (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 im (neg.f64 (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) im) (*.f64 (neg.f64 (cos.f64 re)) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im))) (*.f64 im (neg.f64 (cos.f64 re))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 im (cos.f64 re)) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (cos.f64 re))
(*.f64 (cos.f64 re) (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)) (cos.f64 re)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (cos.f64 re)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(/.f64 (*.f64 (cos.f64 re) (-.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 (cos.f64 re) (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im))) (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (-.f64 (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re))) (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re))))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im) (neg.f64 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im im)) #s(literal -1/6 binary64) (neg.f64 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) im) (*.f64 #s(literal -1/6 binary64) im) (neg.f64 (cos.f64 re)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) (cos.f64 re) (neg.f64 (cos.f64 re)))
(fma.f64 #s(literal -1 binary64) (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) (cos.f64 re)) (neg.f64 (cos.f64 re)))
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) (cos.f64 re)) (neg.f64 (cos.f64 re)))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) (cos.f64 re)) (neg.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) (neg.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) #s(literal -1 binary64) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)))
(-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (neg.f64 (cos.f64 re)) #s(literal -1 binary64)))
(+.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (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 (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 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 binary64))))
(/.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 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 binary64))))
(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 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 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) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 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 im im) #s(literal 1/6 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(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 #s(literal 1 binary64) #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal -1 binary64) #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(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 (neg.f64 im) 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 im im) #s(literal 1/6 binary64)))) (/.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 im im) #s(literal 1/6 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 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 im (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(*.f64 im (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (*.f64 im (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64) #s(literal -8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im)))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im)))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -8 binary64) (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) (*.f64 im im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 im #s(literal 3 binary64)) (*.f64 #s(literal -2 binary64) im))
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/3 binary64) im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 im #s(literal -2 binary64) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 #s(literal -2 binary64) im))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 (neg.f64 im) #s(literal -2 binary64)))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 #s(literal 1/3 binary64) (pow.f64 im #s(literal 3 binary64))))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(+.f64 (/.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (cos re)) #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 #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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) (*.f64 im #s(literal -1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) #s(literal -1 binary64))
(fma.f64 #s(literal -1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
(fma.f64 (*.f64 im im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (neg.f64 im) im) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im))
(*.f64 #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)) #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))))
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im)))
#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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 re re)) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (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))))
(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))
(/.f64 #s(literal 1 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 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/3 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/3 binary64))
(*.f64 im (*.f64 #s(literal -1/3 binary64) im))
(/.f64 (-.f64 #s(literal 1/14400 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64)))
(/.f64 (+.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64))) (+.f64 #s(literal 1/14400 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(/.f64 (+.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64))))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))
(fma.f64 im (*.f64 #s(literal -1/5040 binary64) im) #s(literal -1/120 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))) (/.f64 #s(literal 1/14400 binary64) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))))
(-.f64 #s(literal -1/120 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/5040 binary64) im)) im))
(-.f64 #s(literal -1/120 binary64) (*.f64 #s(literal 1/5040 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 (neg.f64 im) im) #s(literal -1/5040 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))) (/.f64 #s(literal -1/1728000 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 im im) #s(literal 1/604800 binary64)))))
(+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal -1/120 binary64))
(+.f64 #s(literal -1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64)))
(/.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) (*.f64 #s(literal -1/6 binary64) im)))))
(/.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 im (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im)) im))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/216 binary64) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(*.f64 im (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 im im)) (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 3 binary64))) (*.f64 im im)) (-.f64 (+.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 im im))))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (*.f64 (*.f64 im im) (+.f64 #s(literal -1/27 binary64) (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (-.f64 (+.f64 (pow.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) im (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) im (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) im) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) im) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
(+.f64 (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(+.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) (*.f64 im im)))
(+.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 (*.f64 im im) (/.f64 #s(literal -2 binary64) (*.f64 im im))))
#s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) im) im)) im))
(/.f64 (/.f64 #s(literal -2 binary64) (fabs.f64 im)) (fabs.f64 im))
(/.f64 (/.f64 #s(literal -2 binary64) (neg.f64 im)) (neg.f64 im))
(/.f64 (neg.f64 (/.f64 #s(literal -2 binary64) im)) (neg.f64 im))
(/.f64 (/.f64 #s(literal -2 binary64) im) im)
(/.f64 #s(literal 2 binary64) (*.f64 (neg.f64 im) im))
(/.f64 #s(literal -2 binary64) (*.f64 im im))
(neg.f64 (/.f64 #s(literal 2 binary64) (*.f64 im im)))
(neg.f64 (/.f64 #s(literal -2 binary64) (*.f64 (neg.f64 im) im)))

eval162.0ms (1.5%)

Memory
-3.6MiB live, 86.4MiB allocated; 9ms collecting garbage
Compiler

Compiled 15 660 to 1 866 computations (88.1% saved)

prune121.0ms (1.2%)

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

34 alts after pruning (29 fresh and 5 done)

PrunedKeptTotal
New36818386
Fresh41115
Picked415
Done044
Total37634410
Accuracy
99.9%
Counts
410 → 34
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
52.2%
(*.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 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
42.3%
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
38.4%
(*.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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
12.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* (* re re) -1/4) 1/2) (*.f64 #s(literal -1/4 binary64) (*.f64 re re)))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
60.2%
(*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #s(literal -2 binary64) im))))
50.5%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 im im) (*.f64 #s(literal -1/3 binary64) im) (*.f64 #s(literal -2 binary64) im))))
56.9%
(*.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(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.f64 #s(literal -1/60 binary64) im)) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
56.9%
(*.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)))
39.5%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
29.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #s(literal -2 binary64) im))))
63.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im))) (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re)))) im))
55.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (-.f64 (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re))) (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re)))))) im))
50.9%
#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))
41.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)) #s(literal 1/2 binary64)))
80.6%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
53.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
51.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (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)))))) im))
51.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
38.5%
#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))
59.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (* im im) -1/6) -1)) (*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal 1/6 binary64))) (*.f64 im im))) im))
38.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #s(literal -1 binary64))) im))
38.0%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #s(literal -1 binary64))) im))
36.3%
#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))
50.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im))))
60.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
56.9%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
60.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
50.5%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im)))
26.6%
#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 (*.f64 im im) #s(literal -1/6 binary64))) im)))
36.1%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
50.8%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal 1/6 binary64))) (pow.f64 im #s(literal 3 binary64)))))
33.2%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (/.f64 (*.f64 (neg.f64 im) im) im)))
28.7%
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (neg (cos re)) im) (neg.f64 im)))
Compiler

Compiled 2 961 to 1 195 computations (59.6% saved)

regimes134.0ms (1.3%)

Memory
21.2MiB live, 114.2MiB allocated; 5ms 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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im 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 (*.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 (neg.f64 im) im) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #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 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #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 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 im im) (*.f64 #s(literal -1/3 binary64) im) (*.f64 #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)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #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 #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 #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 #s(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.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 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (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)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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))
(*.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(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.f64 (fma.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 #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 #s(literal -1/4 binary64) (*.f64 re re)))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 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) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.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 #s(literal -2 binary64) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (* (cos re) (+ (* (* im im) -1/6) -1)) (*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal 1/6 binary64))) (*.f64 im im))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (cos.f64 re) (neg.f64 (fma.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (* (cos re) (+ (* (* im im) -1/6) -1)) im) (*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) im) #s(literal 1/6 binary64))) (pow.f64 im #s(literal 3 binary64)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (PI.f64))) (*.f64 (sin.f64 re) (sin.f64 (PI.f64)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (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)))))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im))) (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re)))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (-.f64 (*.f64 (neg.f64 (cos.f64 re)) (neg.f64 (cos.f64 re))) (*.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (cos.f64 re)))))) im))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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

6 calls:

46.0ms
(cos.f64 re)
37.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
13.0ms
re
13.0ms
im
12.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
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)

regimes43.0ms (0.4%)

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

3 calls:

20.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.4%3im
Compiler

Compiled 20 to 20 computations (0% saved)

regimes9.0ms (0.1%)

Memory
17.2MiB live, 17.2MiB 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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im 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 (*.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 (neg.f64 im) im) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #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 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #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 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 im im) (*.f64 #s(literal -1/3 binary64) im) (*.f64 #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)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* -1/5040 (* im im)) -1/120) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re) re #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 #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 #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 #s(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.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 #s(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (fma.f64 (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)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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))
(*.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(approx (* (- (* -1/2520 (* im im)) 1/60) im) (*.f64 (fma.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 #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 #s(literal -1/4 binary64) (*.f64 re re)))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (*.f64 im im))) 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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) #s(literal -1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 #s(approx (+ (* -1/3 (* im im)) -2) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 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) #s(approx (* (+ (* (+ (* (+ (* -1/5040 (* im im)) -1/120) (* im im)) -1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 (cos.f64 re)) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (-.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 #s(literal -2 binary64) im)))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (*.f64 (fma.f64 #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 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 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.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)

regimes24.0ms (0.2%)

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

1 calls:

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

Compiled 12 to 11 computations (8.3% saved)

regimes61.0ms (0.6%)

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

6 calls:

16.0ms
im
11.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
8.0ms
re
8.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
8.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
82.1%2(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
71.4%2re
77.2%4(cos.f64 re)
77.2%4(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
85.5%3im
94.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 27 to 30 computations (-11.1% saved)

regimes68.0ms (0.6%)

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

5 calls:

35.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
8.0ms
im
8.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
8.0ms
(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
72.6%2(cos.f64 re)
72.6%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
60.2%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
63.6%3im
72.7%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 26 to 28 computations (-7.7% saved)

regimes60.0ms (0.6%)

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

3 calls:

7.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
7.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
72.3%2(cos.f64 re)
72.3%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
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 18 to 19 computations (-5.6% saved)

regimes7.0ms (0.1%)

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

1 calls:

5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
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 12 to 11 computations (8.3% saved)

regimes17.0ms (0.2%)

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

3 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
6.0ms
(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
72.1%2(cos.f64 re)
72.1%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
72.0%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)

regimes31.0ms (0.3%)

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

2 calls:

25.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
5.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
72.1%2(cos.f64 re)
72.1%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes29.0ms (0.3%)

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

4 calls:

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

Compiled 19 to 21 computations (-10.5% saved)

regimes12.0ms (0.1%)

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

Compiled 18 to 19 computations (-5.6% saved)

regimes27.0ms (0.3%)

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

5 calls:

14.0ms
(cos.f64 re)
3.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
3.0ms
im
3.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
3.0ms
(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Results
AccuracySegmentsBranch
50.5%1(-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
56.4%4im
60.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
62.4%3(cos.f64 re)
62.4%3(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 26 to 28 computations (-7.7% saved)

regimes6.0ms (0.1%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes5.0ms (0.1%)

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

Compiled 6 to 8 computations (-33.3% saved)

regimes35.0ms (0.3%)

Memory
-30.9MiB live, 19.9MiB allocated; 11ms collecting garbage
Counts
5 → 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)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im 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 (*.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

6 calls:

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

Compiled 27 to 30 computations (-11.1% saved)

regimes9.0ms (0.1%)

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

6 calls:

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

Compiled 27 to 30 computations (-11.1% saved)

regimes8.0ms (0.1%)

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

6 calls:

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

regimes11.0ms (0.1%)

Memory
-34.2MiB live, 14.1MiB allocated; 3ms 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:

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

bsearch21.0ms (0.2%)

Memory
26.1MiB live, 26.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
3.200762178118243e-5
465.46721544179314
Samples
13.0ms144×0valid
Compiler

Compiled 330 to 295 computations (10.6% saved)

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

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.828475495112546e-6
+inf
0.0ms
-7.060137797894309e+201
-2.0224110341970913e-7
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.828475495112546e-6
+inf
0.0ms
-7.060137797894309e+201
-2.0224110341970913e-7
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.828475495112546e-6
+inf
0.0ms
-7.060137797894309e+201
-2.0224110341970913e-7
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.828475495112546e-6
+inf
0.0ms
-2.0224110341970913e-7
-1.4007517368241906e-9
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.0
7.828475495112546e-6
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
7.828475495112546e-6
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
7.828475495112546e-6
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.07795276992122024
-0.07371437948572838
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.07795276992122024
-0.07371437948572838
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.07795276992122024
-0.07371437948572838
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.07795276992122024
-0.07371437948572838
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch2.0ms (0%)

Memory
-46.6MiB live, 0.7MiB allocated; 3ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.4978633578180524
0.4996879025235926
0.0ms
-0.028957033877451948
0.0017244772614532491
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.07795276992122024
-0.07371437948572838
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.07795276992122024
-0.07371437948572838
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
-7.060137797894309e+201
-2.0224110341970913e-7
Compiler

Compiled 15 to 16 computations (-6.7% saved)

simplify82.0ms (0.8%)

Memory
17.0MiB live, 63.6MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01831421
12691421
24591421
39921421
421561372
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 im #s(literal 6640827866535439/9223372036854775808 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -944473296573929/4722366482869645213696 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.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 -5404319552844595/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 #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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 #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(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 #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 -5404319552844595/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 (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 -5764607523034235/288230376151711744 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)) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal 2242792614430507/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 (*.f64 im im) #s(literal -1/6 binary64))) im))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #s(literal -2 binary64) im)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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)))
Outputs
(if (<=.f64 im #s(literal 6640827866535439/9223372036854775808 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 6640827866535439/9223372036854775808 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (- (exp (- 0 im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -944473296573929/4722366482869645213696 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -944473296573929/4722366482869645213696 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) im) im) im (*.f64 #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 5902958103587057/590295810358705651712 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 0 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 (*.f64 #s(approx (cos re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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)))
(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)) (*.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 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) 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 #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 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (-.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 0 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.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 -5404319552844595/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 #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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 #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(approx (+ (* -1/5040 (* im im)) -1/120) (*.f64 #s(literal -1/5040 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 #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 -5404319552844595/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 (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 -5764607523034235/288230376151711744 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)) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal 2242792614430507/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/288230376151711744 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)) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal 2242792614430507/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) (*.f64 #s(approx (neg (cos re)) (fma.f64 (*.f64 #s(approx (+ (* -1/24 (* re re)) 1/2) (*.f64 #s(literal -1/24 binary64) (*.f64 re re))) re) re #s(literal -1 binary64))) im)) #s(approx (* (* 1/2 (cos re)) (- (exp (- 0 im)) (exp im))) #s(approx (* (- (exp (neg im)) (exp im)) 1/2) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (*.f64 #s(literal -1 binary64) im)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5404319552844595/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 -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 (*.f64 im im) #s(literal -1/6 binary64))) im))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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 -4999999999999999508737295659820865136036064183695196641472492202216911574133455328451538609289877240337374171051951292319935915520653274410158475954629360671458393142723593846507077330656696262438420480 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 (*.f64 im im) #s(literal -1/6 binary64))) im))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #s(literal -2 binary64) im)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (- (exp (- 0 im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 #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)))

derivations1.6s (15%)

Memory
52.0MiB live, 1 363.7MiB allocated; 205ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058354
090343
1297343
02076338
02431092
17771040
23159960
08164897
0126381
1387349
21339342
34642321
08098294
0235894
1774813
23291798
08734727
046254
073247
1245247
01563247
0204681
1625649
22389629
37465629
08119587
056395
083385
1312385
02198380
Stop Event
fuel
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 1 464 to 189 computations (87.1% saved)

preprocess317.0ms (3%)

Memory
13.1MiB live, 433.8MiB allocated; 174ms collecting garbage
Remove

(abs re)

Compiler

Compiled 3 264 to 614 computations (81.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...