math.exp on complex, real part

Time bar (total: 6.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB 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 7 to 7 computations (0% saved)

sample1.0s (15%)

Memory
12.4MiB live, 1 221.9MiB allocated; 185ms collecting garbage
Samples
677.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 397.0ms
ival-cos: 250.0ms (62.9% of total)
ival-exp: 72.0ms (18.1% of total)
ival-mult: 63.0ms (15.9% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 4.0ms (1% of total)
adjust: 3.0ms (0.8% of total)
Bogosity

explain86.0ms (1.3%)

Memory
11.0MiB live, 111.2MiB allocated; 7ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (exp.f64 re) (cos.f64 im))
00-0-(cos.f64 im)
00-0-re
00-0-(exp.f64 re)
00-0-im
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
57.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-cos: 11.0ms (60.6% of total)
ival-exp: 4.0ms (22% of total)
ival-mult: 3.0ms (16.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess141.0ms (2.1%)

Memory
5.6MiB live, 234.9MiB allocated; 33ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
15129
213827
341727
4162427
055
085
1195
2395
3865
43255
525585
085295
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 re))
Symmetry

(abs im)

Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify207.0ms (3.1%)

Memory
-13.0MiB live, 164.5MiB allocated; 48ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 im)
cost-diff0
(exp.f64 re)
cost-diff0
(*.f64 (exp.f64 re) (cos.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0811
11911
23911
38611
432511
5255811
0852911
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
re
(cos.f64 im)
im
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
re
(cos.f64 im)
im

localize20.0ms (0.3%)

Memory
34.9MiB live, 34.9MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (exp.f64 re) (cos.f64 im))
accuracy0.0
(exp.f64 re)
accuracy0.00390625
(cos.f64 im)
Samples
15.0ms256×0valid
Compiler

Compiled 13 to 7 computations (46.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-cos: 5.0ms (54.6% of total)
ival-exp: 2.0ms (21.8% of total)
ival-mult: 1.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series33.0ms (0.5%)

Memory
-22.5MiB live, 11.8MiB allocated; 24ms collecting garbage
Counts
3 → 16
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
(cos.f64 im)
Outputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(* (cos im) (exp re))
(exp re)
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
Calls

6 calls:

TimeVariablePointExpression
31.0ms
re
@inf
((* (exp re) (cos im)) (exp re) (cos im))
1.0ms
im
@0
((* (exp re) (cos im)) (exp re) (cos im))
1.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) (cos im))
0.0ms
re
@0
((* (exp re) (cos im)) (exp re) (cos im))
0.0ms
im
@inf
((* (exp re) (cos im)) (exp re) (cos im))

simplify289.0ms (4.3%)

Memory
37.7MiB live, 414.7MiB allocated; 129ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064175
1237164
2910160
34069156
08359136
Stop Event
iter limit
node limit
Counts
16 → 16
Calls
Call 1
Inputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(* (cos im) (exp re))
(exp re)
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
Outputs
(cos im)
(cos.f64 im)
(+ (cos im) (* re (cos im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)) (cos.f64 im))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
(*.f64 (cos.f64 im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
1
#s(literal 1 binary64)
(+ 1 re)
(+.f64 #s(literal 1 binary64) re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* (cos im) (exp re))
(*.f64 (exp.f64 re) (cos.f64 im))
(exp re)
(exp.f64 re)
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(*.f64 (exp.f64 re) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64) #s(literal 1 binary64))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(*.f64 (exp.f64 re) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(+ 1 (* -1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))) (*.f64 im im) #s(literal 1 binary64))

rewrite66.0ms (1%)

Memory
-21.2MiB live, 84.7MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
089
1199
2889
06579
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 49
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
(cos.f64 im)
Outputs
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (cos.f64 im)) (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im))) (*.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (fma.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im)) (-.f64 (*.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im))) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im))))))
(/.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (exp.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (exp.f64 re) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (exp.f64 re)))
(fma.f64 (sinh.f64 re) (cos.f64 im) (*.f64 (cosh.f64 re) (cos.f64 im)))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (sinh.f64 re) (*.f64 (cosh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (cosh.f64 re) (*.f64 (sinh.f64 re) (cos.f64 im)))
(fma.f64 (exp.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 (exp.f64 re) (*.f64 #s(literal 1 binary64) (cos.f64 im))))
(-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (neg.f64 (sinh.f64 re)) (cos.f64 im)))
(-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (neg.f64 (cos.f64 im)) (sinh.f64 re)))
(+.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (exp.f64 re)) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (exp.f64 re)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 im))) (*.f64 (exp.f64 re) (*.f64 #s(literal 1 binary64) (cos.f64 im))))
(+.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im)))
(+.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (-.f64 (sinh.f64 re) (cosh.f64 re)))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 re) (*.f64 #s(literal 2 binary64) (cosh.f64 re))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 (neg.f64 re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 re)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) #s(literal 4 binary64))
(/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (fma.f64 (sinh.f64 re) (sinh.f64 re) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (*.f64 (sinh.f64 re) (cosh.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))))
(exp.f64 re)
(+.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (sinh.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64)))))
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im))) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 im)))) (-.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im)) (-.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 im))) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 im))))))
(fma.f64 (sin.f64 (neg.f64 im)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 im)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(fma.f64 #s(literal 0 binary64) (sin.f64 im) (*.f64 #s(literal 1 binary64) (cos.f64 im)))
(fma.f64 (sin.f64 im) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 im)))
(fma.f64 (cos.f64 im) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im))
(-.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 (neg.f64 (cos.f64 im)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 (neg.f64 im)) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.f64 im)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(+.f64 (*.f64 #s(literal 0 binary64) (sin.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 im)))

eval7.0ms (0.1%)

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

Compiled 996 to 215 computations (78.4% saved)

prune7.0ms (0.1%)

Memory
-31.3MiB live, 15.0MiB allocated; 3ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New59665
Fresh000
Picked011
Done000
Total59766
Accuracy
100.0%
Counts
66 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
60.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
64.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
63.5%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
49.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
48.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 157 to 125 computations (20.4% saved)

simplify240.0ms (3.6%)

Memory
2.2MiB live, 235.8MiB allocated; 106ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
cost-diff0
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
cost-diff0
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
cost-diff0
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
cost-diff0
(exp.f64 re)
cost-diff0
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
cost-diff0
(cos.f64 im)
cost-diff0
(+.f64 #s(literal 1 binary64) re)
cost-diff0
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
cost-diff0
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
cost-diff0
(cos.f64 im)
cost-diff0
#s(approx (* (exp re) (cos im)) (cos.f64 im))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
cost-diff0
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028167
050167
185167
2190167
3560167
41902167
57521167
08011167
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(cos.f64 im)
im
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
im
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(cos.f64 im)
im
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im
Outputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(cos.f64 im)
im
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
im
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (cos.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(+.f64 #s(literal 1 binary64) re)
(-.f64 re #s(literal -1 binary64))
#s(literal 1 binary64)
re
(cos.f64 im)
im
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (exp.f64 re))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im

localize80.0ms (1.2%)

Memory
11.2MiB live, 154.9MiB allocated; 13ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
accuracy0.0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
accuracy0.00390625
(cos.f64 im)
accuracy23.32829396991787
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
accuracy0.0
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
accuracy0.0
(*.f64 im im)
accuracy0.0
(exp.f64 re)
accuracy30.594636934498904
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy0.0
(+.f64 #s(literal 1 binary64) re)
accuracy0.0
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
accuracy0.00390625
(cos.f64 im)
accuracy32.50195283973297
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.00390625
(cos.f64 im)
accuracy33.152251780597766
#s(approx (* (exp re) (cos im)) (cos.f64 im))
accuracy0.03125
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
accuracy0.0546875
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
accuracy0.19140625
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
Samples
62.0ms256×0valid
Compiler

Compiled 116 to 25 computations (78.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 37.0ms
ival-mult: 15.0ms (40.9% of total)
ival-add: 8.0ms (21.8% of total)
ival-cos: 6.0ms (16.4% of total)
const: 5.0ms (13.6% of total)
ival-exp: 2.0ms (5.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
16.2MiB live, 16.2MiB allocated; 0ms collecting garbage
Counts
19 → 41
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(*.f64 im im)
Outputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
1/2
(+ 1/2 (* 1/6 re))
(* (cos im) (exp re))
(exp re)
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
re
(* re (+ 1 (/ 1 re)))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* 1/2 re)
(* re (+ 1/2 (/ 1 re)))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(pow im 2)
(* -1/2 (pow im 2))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
Calls

6 calls:

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

simplify150.0ms (2.2%)

Memory
-19.8MiB live, 207.6MiB allocated; 29ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0108358
1387341
21456333
35769332
08268292
Stop Event
iter limit
node limit
Counts
41 → 40
Calls
Call 1
Inputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
1/2
(+ 1/2 (* 1/6 re))
(* (cos im) (exp re))
(exp re)
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
re
(* re (+ 1 (/ 1 re)))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* 1/2 re)
(* re (+ 1/2 (/ 1 re)))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(pow im 2)
(* -1/2 (pow im 2))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
Outputs
(cos im)
(cos.f64 im)
(+ (cos im) (* re (cos im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
(fma.f64 (*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (cos.f64 im))
1
#s(literal 1 binary64)
(+ 1 re)
(-.f64 re #s(literal -1 binary64))
(+ 1 (* re (+ 1 (* 1/2 re))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* 1/2 re))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/6 re))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* (cos im) (exp re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp re)
(exp.f64 re)
(* 1/6 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* 1/6 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/6 binary64))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
re
(* re (+ 1 (/ 1 re)))
(-.f64 re #s(literal -1 binary64))
(* 1/2 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (/ 1 re)))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(* 1/6 re)
(*.f64 #s(literal 1/6 binary64) re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) re)) re) #s(literal 1/6 binary64)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (-.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (-.f64 re #s(literal -1 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/6 binary64)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re)) (*.f64 im im) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re)))
(+ 1 (* -1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(pow im 2)
(*.f64 im im)
(* -1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)

rewrite82.0ms (1.2%)

Memory
29.2MiB live, 128.7MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028144
050144
1164144
01168144
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
19 → 165
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(*.f64 im im)
Outputs
(*.f64 (cos.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re))) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))))
(fma.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))))
(fma.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re) (*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))))
(+.f64 (*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re)) (*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(/.f64 (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) #s(literal 1/2 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64)) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64)))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re))
(*.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(neg.f64 (*.f64 im (neg.f64 im)))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))

eval33.0ms (0.5%)

Memory
-27.0MiB live, 64.4MiB allocated; 10ms collecting garbage
Compiler

Compiled 4 664 to 903 computations (80.6% saved)

prune17.0ms (0.3%)

Memory
37.3MiB live, 37.3MiB allocated; 0ms collecting garbage
Pruning

23 alts after pruning (17 fresh and 6 done)

PrunedKeptTotal
New21316229
Fresh011
Picked055
Done011
Total21323236
Accuracy
100.0%
Counts
236 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
60.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
64.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
25.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
43.2%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64)))))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
40.4%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
42.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
63.5%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
37.8%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
39.4%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
49.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
30.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
31.7%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.3%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
22.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
18.0%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
18.4%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
28.2%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
48.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.1%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
29.3%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
29.4%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Compiler

Compiled 789 to 574 computations (27.2% saved)

simplify256.0ms (3.8%)

Memory
-36.5MiB live, 121.8MiB allocated; 122ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
cost-diff0
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
cost-diff0
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
cost-diff0
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
cost-diff0
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
cost-diff0
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
cost-diff0
(+.f64 #s(literal 1 binary64) re)
cost-diff0
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
cost-diff0
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
cost-diff0
(*.f64 im im)
cost-diff0
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
cost-diff0
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
cost-diff0
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
cost-diff0
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
cost-diff0
(exp.f64 re)
cost-diff0
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
cost-diff1
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041345
068351
1115351
2284351
3944344
43077341
08127338
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(+.f64 #s(literal 1 binary64) re)
(-.f64 re #s(literal -1 binary64))
#s(literal 1 binary64)
re
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im

localize161.0ms (2.4%)

Memory
-13.6MiB live, 223.6MiB allocated; 31ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(cos.f64 im)
accuracy0.01171875
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
accuracy23.32829396991787
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
accuracy29.937621233629727
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
accuracy0.08984375
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
accuracy0.19140625
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
accuracy30.590158603511814
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
accuracy0.0390625
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.08984375
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
accuracy30.590158603511814
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
accuracy32.50195283973297
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.0
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
accuracy0.0
(*.f64 im im)
accuracy30.594636934498904
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy33.152251780597766
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
accuracy0.0
(exp.f64 re)
accuracy0.0390625
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.15234375
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
accuracy30.590158603511814
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
Samples
129.0ms256×0valid
Compiler

Compiled 204 to 33 computations (83.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-mult: 20.0ms (41.5% of total)
ival-add: 11.0ms (22.8% of total)
const: 7.0ms (14.5% of total)
ival-cos: 6.0ms (12.4% of total)
ival-exp: 2.0ms (4.1% of total)
ival-sub: 1.0ms (2.1% of total)
adjust: 0.0ms (0% 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
24.0MiB live, 24.0MiB allocated; 0ms collecting garbage
Counts
26 → 47
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(cos.f64 im)
Outputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
re
(* re (+ 1 (* 1/2 re)))
1/2
(+ 1/2 (* 1/6 re))
(* (cos im) (exp re))
(exp re)
(* re (+ 1 (/ 1 re)))
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
-1/2
(- (* 1/24 (pow im 2)) 1/2)
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(pow im 2)
(* 1/24 (pow im 2))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* -1/2 (pow im 2))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(* 1/24 (pow im 4))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
Calls

6 calls:

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

simplify160.0ms (2.4%)

Memory
20.1MiB live, 257.3MiB allocated; 45ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0118412
1405397
21515389
36070388
08058347
Stop Event
iter limit
node limit
Counts
47 → 46
Calls
Call 1
Inputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
re
(* re (+ 1 (* 1/2 re)))
1/2
(+ 1/2 (* 1/6 re))
(* (cos im) (exp re))
(exp re)
(* re (+ 1 (/ 1 re)))
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
-1/2
(- (* 1/24 (pow im 2)) 1/2)
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(pow im 2)
(* 1/24 (pow im 2))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* -1/2 (pow im 2))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(* 1/24 (pow im 4))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
Outputs
(cos im)
(cos.f64 im)
(+ (cos im) (* re (cos im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
(fma.f64 (*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (cos.f64 im))
1
#s(literal 1 binary64)
(+ 1 re)
(-.f64 re #s(literal -1 binary64))
(+ 1 (* re (+ 1 (* 1/2 re))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* 1/2 re))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
re
(* re (+ 1 (* 1/2 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/6 re))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* (cos im) (exp re))
(*.f64 (exp.f64 re) (cos.f64 im))
(exp re)
(exp.f64 re)
(* re (+ 1 (/ 1 re)))
(-.f64 re #s(literal -1 binary64))
(* 1/6 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* 1/6 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/6 binary64))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(* 1/2 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* 1/6 re)
(*.f64 #s(literal 1/6 binary64) re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) re)) re) #s(literal 1/6 binary64)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (-.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (-.f64 re #s(literal -1 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/6 binary64)))
-1/2
#s(literal -1/2 binary64)
(- (* 1/24 (pow im 2)) 1/2)
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (exp.f64 re)) (*.f64 im im) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re)))
(+ 1 (* -1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(pow im 2)
(*.f64 im im)
(* 1/24 (pow im 2))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) im) im)
(* -1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
(* 1/24 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/24 binary64)) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64)))

rewrite100.0ms (1.5%)

Memory
-4.5MiB live, 85.6MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041277
068277
1234277
01754274
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
26 → 238
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(cos.f64 im)
Outputs
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 (fma.f64 (*.f64 im im) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (fma.f64 (*.f64 im im) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (+.f64 (fma.f64 (*.f64 im im) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (+.f64 (fma.f64 (*.f64 im im) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (exp.f64 re))
(fma.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(fma.f64 #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re) (*.f64 #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(+.f64 (*.f64 #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re)) (*.f64 #s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal -1/2 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/8 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(*.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(neg.f64 (*.f64 im (neg.f64 im)))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(*.f64 #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re))) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re) #s(literal 1 binary64))
(*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(*.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 re (*.f64 (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)) #s(literal 1 binary64)))
(*.f64 re (fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) #s(literal -1 binary64)) re) (fma.f64 re #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1/2 binary64)))))
(/.f64 (*.f64 re (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) #s(literal -1 binary64))) (fma.f64 re #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 re (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1/2 binary64)))))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) re re)
(fma.f64 re (*.f64 re #s(literal 1/2 binary64)) re)
(+.f64 (*.f64 (*.f64 re #s(literal 1/2 binary64)) re) re)
(+.f64 (*.f64 re (*.f64 re #s(literal 1/2 binary64))) re)
(+.f64 re (*.f64 (*.f64 re #s(literal 1/2 binary64)) re))
(+.f64 re (*.f64 re (*.f64 re #s(literal 1/2 binary64))))
(*.f64 (*.f64 #s(literal 1/24 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 im #s(literal 1/24 binary64)) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/24 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
(*.f64 im (*.f64 im #s(literal 1/24 binary64)))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) im) im))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(fma.f64 im (*.f64 im #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 im #s(literal 1/24 binary64))) im))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal 1/24 binary64)))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/24 binary64) (*.f64 im im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))) (/.f64 #s(literal -1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(+.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64)) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64)))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))

eval85.0ms (1.3%)

Memory
-26.4MiB live, 117.0MiB allocated; 69ms collecting garbage
Compiler

Compiled 11 808 to 1 520 computations (87.1% saved)

prune31.0ms (0.5%)

Memory
27.7MiB live, 73.0MiB allocated; 8ms collecting garbage
Pruning

28 alts after pruning (20 fresh and 8 done)

PrunedKeptTotal
New4089417
Fresh11112
Picked325
Done066
Total41228440
Accuracy
100.0%
Counts
440 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
60.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
64.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
25.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
43.2%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64)))))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
42.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
40.4%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
37.8%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
63.5%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
39.4%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
49.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
30.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
30.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
31.7%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.3%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
16.9%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
22.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
16.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
18.0%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
18.4%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
28.2%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
48.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.1%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
29.3%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
29.4%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.3%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
11.9%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
Compiler

Compiled 1 082 to 782 computations (27.7% saved)

simplify171.0ms (2.6%)

Memory
-10.7MiB live, 178.3MiB allocated; 28ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
cost-diff0
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
cost-diff0
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
cost-diff0
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
cost-diff0
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))
cost-diff0
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
cost-diff0
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
cost-diff0
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
cost-diff0
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
cost-diff0
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
cost-diff0
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
cost-diff0
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
cost-diff0
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
cost-diff0
(exp.f64 re)
cost-diff0
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051463
086463
1154463
2365463
31201463
44339463
08571463
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
(-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 im im))
#s(literal 1 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))
#s(literal 1/36 binary64)
(*.f64 re re)
re
#s(literal -1/4 binary64)
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/6 binary64) re)
#s(literal 1/6 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 im im))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
(-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 im im))
#s(literal 1 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
re
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64))
(fma.f64 (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) #s(literal 1 binary64))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))
#s(literal 1/36 binary64)
(*.f64 re re)
re
#s(literal -1/4 binary64)
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/6 binary64) re)
#s(literal 1/6 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal -1/2 binary64)

localize257.0ms (3.8%)

Memory
0.5MiB live, 335.3MiB allocated; 35ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.3671875
(*.f64 #s(literal 1/6 binary64) re)
accuracy16.140036507032725
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
accuracy30.590158603511814
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
accuracy0.0546875
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
accuracy0.19140625
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
accuracy30.594636934498904
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy0.31640625
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
accuracy15.160089977327567
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
accuracy30.594636934498904
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
accuracy33.152251780597766
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
accuracy0.0
(*.f64 im im)
accuracy30.594636934498904
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
accuracy32.193614647328204
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
accuracy33.152251780597766
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
accuracy0.0
(exp.f64 re)
accuracy0.0390625
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.08984375
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
accuracy30.590158603511814
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
Samples
192.0ms256×0valid
Compiler

Compiled 277 to 44 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 105.0ms
ival-mult: 44.0ms (41.7% of total)
ival-sub: 19.0ms (18% of total)
ival-add: 16.0ms (15.2% of total)
const: 11.0ms (10.4% of total)
ival-cos: 7.0ms (6.6% of total)
ival-div: 4.0ms (3.8% of total)
ival-exp: 3.0ms (2.8% of total)
exact: 1.0ms (0.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series16.0ms (0.2%)

Memory
27.4MiB live, 27.4MiB allocated; 0ms collecting garbage
Counts
28 → 46
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 im im)
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/6 binary64) re)
Outputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
1/2
(+ 1/2 (* 1/6 re))
(* 1/6 re)
(* (cos im) (exp re))
(exp re)
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(* -1/2 (pow im 2))
-1/2
(- (* 1/24 (pow im 2)) 1/2)
(pow im 2)
(/ 1 im)
(/ (+ 1 (* -1/2 (pow im 2))) im)
(* 1/24 (pow im 4))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(* 1/24 (pow im 2))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* -1/2 im)
(* im (- (/ 1 (pow im 2)) 1/2))
(* -1 (* im (- 1/2 (/ 1 (pow im 2)))))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
re
@0
((* (exp re) (cos im)) (exp re) (cos im) (+ (* (+ (* (* im im) 1/24) -1/2) (* im im)) 1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* (- (/ 1 (* im im)) 1/2) im) im) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (+ (* (+ (* 1/6 re) 1/2) re) 1) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) re) 1) (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) (+ (* (* im im) 1/24) -1/2) (* im im) (* (- (/ 1 (* im im)) 1/2) im) (cos im) (+ (* 1/6 re) 1/2) (cos im) (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) (* 1/6 re))
3.0ms
re
@inf
((* (exp re) (cos im)) (exp re) (cos im) (+ (* (+ (* (* im im) 1/24) -1/2) (* im im)) 1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* (- (/ 1 (* im im)) 1/2) im) im) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (+ (* (+ (* 1/6 re) 1/2) re) 1) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) re) 1) (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) (+ (* (* im im) 1/24) -1/2) (* im im) (* (- (/ 1 (* im im)) 1/2) im) (cos im) (+ (* 1/6 re) 1/2) (cos im) (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) (* 1/6 re))
2.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) (cos im) (+ (* (+ (* (* im im) 1/24) -1/2) (* im im)) 1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* (- (/ 1 (* im im)) 1/2) im) im) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (+ (* (+ (* 1/6 re) 1/2) re) 1) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) re) 1) (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) (+ (* (* im im) 1/24) -1/2) (* im im) (* (- (/ 1 (* im im)) 1/2) im) (cos im) (+ (* 1/6 re) 1/2) (cos im) (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) (* 1/6 re))
2.0ms
im
@inf
((* (exp re) (cos im)) (exp re) (cos im) (+ (* (+ (* (* im im) 1/24) -1/2) (* im im)) 1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* (- (/ 1 (* im im)) 1/2) im) im) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (+ (* (+ (* 1/6 re) 1/2) re) 1) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) re) 1) (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) (+ (* (* im im) 1/24) -1/2) (* im im) (* (- (/ 1 (* im im)) 1/2) im) (cos im) (+ (* 1/6 re) 1/2) (cos im) (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) (* 1/6 re))
2.0ms
im
@-inf
((* (exp re) (cos im)) (exp re) (cos im) (+ (* (+ (* (* im im) 1/24) -1/2) (* im im)) 1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* (* (- (/ 1 (* im im)) 1/2) im) im) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (+ (* (+ (* 1/6 re) 1/2) re) 1) (* (exp re) (cos im)) (exp re) (+ (* (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) re) 1) (+ (* (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) re) 1) (+ (* (* im im) 1/24) -1/2) (* im im) (* (- (/ 1 (* im im)) 1/2) im) (cos im) (+ (* 1/6 re) 1/2) (cos im) (/ (+ (* 1/36 (* re re)) -1/4) (- (* 1/6 re) 1/2)) (* 1/6 re))

simplify206.0ms (3.1%)

Memory
-27.5MiB live, 162.2MiB allocated; 61ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0120414
1397401
21465391
35998390
08122352
Stop Event
iter limit
node limit
Counts
46 → 46
Calls
Call 1
Inputs
(cos im)
(+ (cos im) (* re (cos im)))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
1/2
(+ 1/2 (* 1/6 re))
(* 1/6 re)
(* (cos im) (exp re))
(exp re)
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(* 1/6 (pow re 2))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(+ 1 (* -1/2 (pow im 2)))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(* -1/2 (pow im 2))
-1/2
(- (* 1/24 (pow im 2)) 1/2)
(pow im 2)
(/ 1 im)
(/ (+ 1 (* -1/2 (pow im 2))) im)
(* 1/24 (pow im 4))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(* 1/24 (pow im 2))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* -1/2 im)
(* im (- (/ 1 (pow im 2)) 1/2))
(* -1 (* im (- 1/2 (/ 1 (pow im 2)))))
Outputs
(cos im)
(cos.f64 im)
(+ (cos im) (* re (cos im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))
(*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))
(fma.f64 (*.f64 (cos.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (cos.f64 im))
1
#s(literal 1 binary64)
(+ 1 re)
(-.f64 re #s(literal -1 binary64))
(+ 1 (* re (+ 1 (* 1/2 re))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(+ 1 (* 1/2 re))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(+ 1 (* re (+ 1/2 (* 1/6 re))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/6 re))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* 1/6 re)
(*.f64 #s(literal 1/6 binary64) re)
(* (cos im) (exp re))
(*.f64 (exp.f64 re) (cos.f64 im))
(exp re)
(exp.f64 re)
(* 1/6 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow re 3) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)
(* (pow re 3) (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (/ 1 (pow re 2)) (/ 1 (pow re 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(* 1/6 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/6 binary64))
(* (pow re 2) (+ 1/6 (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)
(* (pow re 2) (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 1 (pow re 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) re)) re) #s(literal 1/6 binary64)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal -1 binary64) re) #s(literal -1 binary64)) re) #s(literal 1/2 binary64)) re) #s(literal 1/6 binary64)))
(+ (exp re) (* -1/2 (* (pow im 2) (exp re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re)) (*.f64 im im) (exp.f64 re))
(+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re)))
(+ 1 (* -1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(* -1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
-1/2
#s(literal -1/2 binary64)
(- (* 1/24 (pow im 2)) 1/2)
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(pow im 2)
(*.f64 im im)
(/ 1 im)
(/.f64 #s(literal 1 binary64) im)
(/ (+ 1 (* -1/2 (pow im 2))) im)
(/.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) im)
(* 1/24 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/24 binary64)) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) im) im) #s(literal 1/2 binary64)) im) im)
(* 1/24 (pow im 2))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) im) im)
(* -1/2 im)
(*.f64 #s(literal -1/2 binary64) im)
(* im (- (/ 1 (pow im 2)) 1/2))
(*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) im) im) #s(literal 1/2 binary64)) im)
(* -1 (* im (- 1/2 (/ 1 (pow im 2)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 #s(literal 1 binary64) im) im)))

rewrite83.0ms (1.2%)

Memory
37.4MiB live, 125.3MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051377
086345
1309327
02152327
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
28 → 264
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(exp.f64 re)
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 im im)
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/6 binary64) re)
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (exp.f64 re))
(fma.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(fma.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re) (*.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(+.f64 (*.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cosh.f64 re)) (*.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sinh.f64 re)))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(*.f64 (*.f64 #s(literal -1/2 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/2 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)))
(*.f64 #s(literal -1/2 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 im (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 im (*.f64 #s(literal -1/2 binary64) im))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im) im))))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im) im)
(*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)))
(*.f64 im (*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 im im)) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (*.f64 im im)) (fma.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) (*.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (*.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) (*.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (*.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal -1/2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(fma.f64 im (*.f64 #s(literal 1/24 binary64) im) #s(literal -1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/24 binary64) im)) im))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/24 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 im) im) #s(literal 1/24 binary64)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/24 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))) (/.f64 #s(literal -1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/48 binary64)))))
(+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))
(*.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(*.f64 (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) im)
(*.f64 im (-.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) im) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) im) (fma.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -2 binary64))) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 2 binary64))))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(*.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 re re) #s(literal 1/36 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))) (*.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (-.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/46656 binary64) #s(literal -1/64 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (*.f64 (*.f64 re re) #s(literal -1/144 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(neg.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/36 binary64) (/.f64 (*.f64 re re) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(+.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(*.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 re re) #s(literal 1/36 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))) (*.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (-.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/46656 binary64) #s(literal -1/64 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (*.f64 (*.f64 re re) #s(literal -1/144 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(neg.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/36 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal -1/4 binary64) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(fma.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/36 binary64) (/.f64 (*.f64 re re) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(+.f64 (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) (/.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re))
(*.f64 #s(literal 1/6 binary64) re)
(*.f64 re #s(literal 1/6 binary64))

eval87.0ms (1.3%)

Memory
-22.6MiB live, 123.3MiB allocated; 23ms collecting garbage
Compiler

Compiled 9 177 to 1 457 computations (84.1% saved)

prune53.0ms (0.8%)

Memory
-11.0MiB live, 136.4MiB allocated; 14ms collecting garbage
Pruning

30 alts after pruning (19 fresh and 11 done)

PrunedKeptTotal
New3068314
Fresh41115
Picked235
Done088
Total31230342
Accuracy
100.0%
Counts
342 → 30
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
64.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
59.8%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
25.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
42.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
43.2%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64)))))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
42.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
30.8%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
37.8%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
39.4%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
63.5%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
30.2%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
49.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
31.7%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.3%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
16.9%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
19.0%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
16.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
19.2%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
18.0%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
18.4%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
28.2%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
48.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
29.3%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
29.4%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
22.3%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
11.9%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
28.1%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
Compiler

Compiled 1 618 to 678 computations (58.1% saved)

regimes134.0ms (2%)

Memory
27.6MiB live, 164.7MiB allocated; 24ms collecting garbage
Counts
40 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

40.0ms
im
31.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
26.0ms
(cos.f64 im)
19.0ms
re
14.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1(cos.f64 im)
100.0%1(exp.f64 re)
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1re
100.0%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes100.0ms (1.5%)

Memory
-21.1MiB live, 109.8MiB allocated; 37ms collecting garbage
Counts
39 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64)))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
Calls

5 calls:

18.0ms
im
13.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
10.0ms
re
10.0ms
(cos.f64 im)
8.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
84.0%2(cos.f64 im)
85.5%2(exp.f64 re)
91.1%4(*.f64 (exp.f64 re) (cos.f64 im))
91.4%4re
84.7%2im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes19.0ms (0.3%)

Memory
35.0MiB live, 35.0MiB allocated; 0ms collecting garbage
Counts
35 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
Calls

2 calls:

9.0ms
re
8.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
85.2%3(*.f64 (exp.f64 re) (cos.f64 im))
90.2%4re
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes45.0ms (0.7%)

Memory
-40.0MiB live, 39.9MiB allocated; 20ms collecting garbage
Counts
34 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im))
Calls

1 calls:

43.0ms
re
Results
AccuracySegmentsBranch
90.1%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes35.0ms (0.5%)

Memory
-23.0MiB live, 21.8MiB allocated; 8ms collecting garbage
Counts
32 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
Calls

1 calls:

9.0ms
re
Results
AccuracySegmentsBranch
89.7%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes10.0ms (0.2%)

Memory
32.8MiB live, 32.8MiB allocated; 0ms collecting garbage
Counts
31 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
Calls

1 calls:

8.0ms
re
Results
AccuracySegmentsBranch
89.4%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes109.0ms (1.6%)

Memory
-15.5MiB live, 76.5MiB allocated; 8ms collecting garbage
Counts
30 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (cos.f64 im))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

5 calls:

50.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
34.0ms
re
8.0ms
im
8.0ms
(cos.f64 im)
6.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
86.2%5(*.f64 (exp.f64 re) (cos.f64 im))
61.4%3(cos.f64 im)
59.0%2im
81.4%3(exp.f64 re)
84.5%4re
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes27.0ms (0.4%)

Memory
-6.8MiB live, 45.9MiB allocated; 9ms collecting garbage
Counts
28 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

3 calls:

12.0ms
re
6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
6.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
71.0%3(exp.f64 re)
74.2%4re
75.8%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes14.0ms (0.2%)

Memory
33.8MiB live, 33.8MiB allocated; 0ms collecting garbage
Counts
25 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

2 calls:

7.0ms
re
6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
70.5%3re
75.5%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes60.0ms (0.9%)

Memory
2.4MiB live, 90.7MiB allocated; 15ms collecting garbage
Counts
24 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (/.f64 re (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

5 calls:

30.0ms
(cos.f64 im)
7.0ms
im
6.0ms
re
6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
42.7%1im
47.8%2(cos.f64 im)
50.7%3re
50.7%3(exp.f64 re)
56.5%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes26.0ms (0.4%)

Memory
-23.5MiB live, 21.2MiB allocated; 4ms collecting garbage
Counts
20 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

1 calls:

24.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
55.6%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes6.0ms (0.1%)

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

1 calls:

5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
55.6%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes63.0ms (0.9%)

Memory
-39.3MiB live, 19.7MiB allocated; 6ms collecting garbage
Counts
18 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

1 calls:

61.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
53.9%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes10.0ms (0.1%)

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

2 calls:

5.0ms
re
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
50.7%3re
51.8%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes20.0ms (0.3%)

Memory
-24.4MiB live, 21.1MiB allocated; 3ms collecting garbage
Counts
15 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im #s(literal 1/24 binary64)) im #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Calls

2 calls:

14.0ms
(exp.f64 re)
5.0ms
re
Results
AccuracySegmentsBranch
50.6%3(exp.f64 re)
50.6%3re
Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes15.0ms (0.2%)

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

4 calls:

4.0ms
re
4.0ms
(cos.f64 im)
3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
3.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
43.8%3(cos.f64 im)
48.5%4(*.f64 (exp.f64 re) (cos.f64 im))
47.4%3(exp.f64 re)
49.7%4re
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes18.0ms (0.3%)

Memory
-27.6MiB live, 17.9MiB allocated; 4ms collecting garbage
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(approx (+ (* 1/6 re) 1/2) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Calls

2 calls:

15.0ms
re
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
47.4%3(exp.f64 re)
47.4%3re
Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes13.0ms (0.2%)

Memory
-3.8MiB live, 40.9MiB allocated; 4ms collecting garbage
Counts
5 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Calls

5 calls:

4.0ms
(cos.f64 im)
2.0ms
re
2.0ms
im
2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
35.2%2(cos.f64 im)
31.7%1im
44.0%4(*.f64 (exp.f64 re) (cos.f64 im))
39.9%3re
39.9%3(exp.f64 re)
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes2.0ms (0%)

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

1 calls:

2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
40.0%3(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes5.0ms (0.1%)

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

3 calls:

2.0ms
re
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
37.6%3(exp.f64 re)
37.6%3re
38.1%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes4.0ms (0.1%)

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

3 calls:

1.0ms
re
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
35.6%2(exp.f64 re)
35.6%2re
35.6%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes10.0ms (0.1%)

Memory
-29.5MiB live, 21.7MiB allocated; 8ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
re
1.0ms
im
1.0ms
(cos.f64 im)
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
11.9%1im
11.9%1(cos.f64 im)
11.9%1(exp.f64 re)
11.9%1re
11.9%1(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch75.0ms (1.1%)

Memory
6.2MiB live, 95.5MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
1.4969880142331828e+102
1.461019044271864e+106
15.0ms
8.806174993553194
46246036.789926454
15.0ms
-0.029068734859224836
-0.00011817133837513503
Samples
55.0ms384×0valid
Compiler

Compiled 980 to 777 computations (20.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-cos: 8.0ms (53% of total)
ival-exp: 4.0ms (26.5% of total)
ival-mult: 2.0ms (13.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch4.0ms (0.1%)

Memory
4.6MiB live, 4.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.4969880142331828e+102
1.461019044271864e+106
1.0ms
8.806174993553194
46246036.789926454
1.0ms
-0.029068734859224836
-0.00011817133837513503
Compiler

Compiled 776 to 658 computations (15.2% saved)

bsearch4.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.4969880142331828e+102
1.461019044271864e+106
1.0ms
8.806174993553194
46246036.789926454
1.0ms
-0.029068734859224836
-0.00011817133837513503
Compiler

Compiled 728 to 626 computations (14% saved)

bsearch13.0ms (0.2%)

Memory
12.2MiB live, 12.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
2.1135539588141135e+153
2.2987399845676217e+154
1.0ms
8.806174993553194
46246036.789926454
1.0ms
-0.029068734859224836
-0.00011817133837513503
Samples
6.0ms96×0valid
Compiler

Compiled 606 to 530 computations (12.5% saved)

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

bsearch47.0ms (0.7%)

Memory
-33.0MiB live, 11.3MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
41.0ms
2.1135539588141135e+153
2.2987399845676217e+154
1.0ms
8.806174993553194
46246036.789926454
4.0ms
-0.029068734859224836
-0.00011817133837513503
Samples
2.0ms32×0valid
Compiler

Compiled 542 to 498 computations (8.1% saved)

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

bsearch1.0ms (0%)

Memory
2.6MiB live, 2.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
4.432013108277099e-19
0.011672827278906993
0.0ms
-0.08439593428543392
0.0
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
4.432013108277099e-19
0.011672827278906993
0.0ms
-0.08439593428543392
0.0
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-0.08439593428543392
0.0
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000000015283
+inf
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000000015283
+inf
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch50.0ms (0.7%)

Memory
-41.7MiB live, 39.6MiB allocated; 49ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
32.0ms
1.0033846924823813e-13
1.5282363930381744e-12
15.0ms
-1902347532.3549156
-42.26026285980251
Samples
15.0ms240×0valid
Compiler

Compiled 824 to 595 computations (27.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-cos: 5.0ms (53% of total)
ival-exp: 3.0ms (31.8% of total)
ival-mult: 2.0ms (21.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch20.0ms (0.3%)

Memory
19.2MiB live, 19.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
9.082617898213718e+39
4.5875952274239207e+58
1.0ms
-1902347532.3549156
-42.26026285980251
Samples
10.0ms160×0valid
Compiler

Compiled 1 164 to 851 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-cos: 4.0ms (66% of total)
ival-exp: 1.0ms (16.5% of total)
ival-mult: 1.0ms (16.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch34.0ms (0.5%)

Memory
-1.8MiB live, 42.6MiB allocated; 13ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
8.724676453275048e+168
1.9784976349226214e+172
9.0ms
1.0033846924823813e-13
1.5282363930381744e-12
1.0ms
-1902347532.3549156
-42.26026285980251
Samples
20.0ms208×0valid
Compiler

Compiled 1 238 to 907 computations (26.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-cos: 5.0ms (62% of total)
ival-exp: 2.0ms (24.8% of total)
ival-mult: 1.0ms (12.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000000001004
1.0000000000015283
0.0ms
0.0
4.432013108277099e-19
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9996864905301789
0.9999910600757126
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
4.432013108277099e-19
0.0ms
-inf
-2610.023969672077
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
4.432013108277099e-19
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
4.432013108277099e-19
Compiler

Compiled 8 to 10 computations (-25% saved)

simplify85.0ms (1.3%)

Memory
2.7MiB live, 89.0MiB allocated; 15ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01832085
12242085
23462085
37842085
426362085
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -1080863910568919/72057594037927936 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 re #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 1298074214633707/2596148429267413814265248164610048 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 1298074214633707/2596148429267413814265248164610048 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 4040636288227481/39614081257132168796771975168 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 13000000000000000274029254993641849487360 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 3713820117856141/2475880078570760549798248448 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (if (<=.f64 re #s(literal 9000000000000000242732449134099089784724114335738366634965599187793891928019023061241483772959299574655374626828750923906845563976381493499132802295294179209552527884288 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 (exp.f64 re) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (exp.f64 re) #s(literal 562949953421875/562949953421312 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* (* im im) 1/24) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im)) (if (<=.f64 re #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im)))))
(if (<=.f64 re #s(literal -1080863910568919/72057594037927936 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 re #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 1298074214633707/2596148429267413814265248164610048 binary64)) (*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 1298074214633707/2596148429267413814265248164610048 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -3602879701896397/72057594037927936 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 4040636288227481/39614081257132168796771975168 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 4040636288227481/39614081257132168796771975168 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 13000000000000000274029254993641849487360 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 13000000000000000274029254993641849487360 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 3713820117856141/2475880078570760549798248448 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (if (<=.f64 re #s(literal 9000000000000000242732449134099089784724114335738366634965599187793891928019023061241483772959299574655374626828750923906845563976381493499132802295294179209552527884288 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -490 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 re #s(literal 3713820117856141/2475880078570760549798248448 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (if (<=.f64 re #s(literal 9000000000000000242732449134099089784724114335738366634965599187793891928019023061241483772959299574655374626828750923906845563976381493499132802295294179209552527884288 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 (-.f64 (pow.f64 (*.f64 im im) #s(literal -1 binary64)) #s(literal 1/2 binary64)) im) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 (exp.f64 re) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (exp.f64 re) #s(literal 562949953421875/562949953421312 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 (exp.f64 re) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (exp.f64 re) #s(literal 562949953421875/562949953421312 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2251349453722511/2251799813685248 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (/.f64 #s(literal 1 binary64) im)) im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 #s(approx (* (- (/ 1 (* im im)) 1/2) im) (pow.f64 im #s(literal -1 binary64))) im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) #s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))

derivations1.3s (19.2%)

Memory
11.8MiB live, 1 223.8MiB allocated; 165ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0118412
1405397
21515389
36070388
08058347
064175
1237164
2910160
34069156
08359136
0108358
1387341
21456333
35769332
08268292
0120414
1397401
21465391
35998390
08122352
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 2 085 to 189 computations (90.9% saved)

preprocess194.0ms (2.9%)

Memory
-31.1MiB live, 205.6MiB allocated; 25ms collecting garbage
Remove

(abs im)

Compiler

Compiled 4 200 to 408 computations (90.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...