math.exp on complex, real part

Time bar (total: 10.6s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample2.8s (26.3%)

Memory
-21.3MiB live, 1 772.2MiB allocated; 1.2s collecting garbage
Samples
2.0s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 520.0ms
ival-cos: 217.0ms (41.7% of total)
ival-exp: 172.0ms (33.1% of total)
ival-mult: 118.0ms (22.7% of total)
ival-true: 7.0ms (1.3% of total)
ival-assert: 4.0ms (0.8% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

explain105.0ms (1%)

Memory
-28.6MiB live, 176.3MiB allocated; 71ms 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
64.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 51.0ms
ival-mult: 35.0ms (68.1% of total)
ival-cos: 12.0ms (23.3% of total)
ival-exp: 4.0ms (7.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess152.0ms (1.4%)

Memory
73.0MiB live, 182.2MiB allocated; 54ms 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.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 5 to 5 computations (0% saved)

simplify133.0ms (1.3%)

Memory
2.1MiB live, 187.8MiB allocated; 44ms 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

localize21.0ms (0.2%)

Memory
0.9MiB live, 47.9MiB allocated; 2ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 re)
accuracy0.0
(cos.f64 im)
accuracy0.0078125
(*.f64 (exp.f64 re) (cos.f64 im))
Samples
16.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: 6.0ms (64% of total)
ival-exp: 2.0ms (21.3% of total)
ival-mult: 2.0ms (21.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0%)

Memory
6.6MiB live, 6.6MiB allocated; 0ms 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
1.0ms
re
@inf
((* (exp re) (cos im)) (exp re) (cos im))
1.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) (cos im))
1.0ms
im
@0
((* (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))

simplify426.0ms (4%)

Memory
-73.5MiB live, 304.2MiB allocated; 73ms 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))

rewrite84.0ms (0.8%)

Memory
-0.6MiB live, 45.4MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
089
1199
2889
06569
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
14.4MiB live, 14.4MiB allocated; 0ms collecting garbage
Compiler

Compiled 996 to 215 computations (78.4% saved)

prune5.0ms (0.1%)

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

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New58765
Fresh000
Picked011
Done000
Total58866
Accuracy
100.0%
Counts
66 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
57.6%
(*.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))))
62.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
67.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.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))) (cos.f64 im))
51.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
51.2%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
50.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 181 to 141 computations (22.1% saved)

simplify491.0ms (4.7%)

Memory
-7.7MiB live, 322.5MiB allocated; 49ms 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
57522167
08015167
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

localize87.0ms (0.8%)

Memory
-13.2MiB live, 127.1MiB allocated; 34ms 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
(cos.f64 im)
accuracy0.0078125
(*.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))
accuracy23.381630793492096
#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 im im)
accuracy0.0
(exp.f64 re)
accuracy0.0078125
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
accuracy31.888647635490102
#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
(cos.f64 im)
accuracy0.0078125
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
accuracy31.220557498423553
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.0
(cos.f64 im)
accuracy31.870319103821963
#s(approx (* (exp re) (cos im)) (cos.f64 im))
accuracy0.06640625
(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.078125
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
accuracy0.203125
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy21.11807429164231
#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
48.0ms256×0valid
Compiler

Compiled 116 to 25 computations (78.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 12.0ms (36.5% of total)
ival-add: 8.0ms (24.3% of total)
ival-cos: 6.0ms (18.2% of total)
const: 4.0ms (12.2% of total)
ival-exp: 2.0ms (6.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)

series7.0ms (0.1%)

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

simplify219.0ms (2.1%)

Memory
-71.9MiB live, 192.3MiB allocated; 69ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0108358
1387341
21456333
35769332
08274292
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)

rewrite55.0ms (0.5%)

Memory
20.7MiB live, 20.7MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028144
050144
1163144
01168144
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
19 → 186
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 (+.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)))
(/.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)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 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 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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(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 (+.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 (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))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) re)
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) re)
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) re)
(fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64))
(fma.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 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.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 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.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))))
(/.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 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.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)))
(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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(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))
(fma.f64 #s(literal 1 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)) (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 (+.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)))
(/.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)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 #s(literal 1/2 binary64) re))
(fma.f64 #s(literal -1 binary64) #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 binary64) #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))
(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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (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)))))
(fma.f64 #s(literal 1/2 binary64) #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) re))
(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)))

eval398.0ms (3.8%)

Memory
-4.5MiB live, 43.2MiB allocated; 6ms collecting garbage
Compiler

Compiled 5 002 to 973 computations (80.5% saved)

prune20.0ms (0.2%)

Memory
-1.3MiB live, 41.7MiB allocated; 6ms collecting garbage
Pruning

22 alts after pruning (16 fresh and 6 done)

PrunedKeptTotal
New23515250
Fresh112
Picked055
Done011
Total23622258
Accuracy
100.0%
Counts
258 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
62.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
26.7%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
67.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))
39.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))) #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.8%
(*.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.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))) (cos.f64 im))
36.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))) #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))))
36.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
51.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
30.9%
(*.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))))
30.6%
(*.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))))
19.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))
19.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.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))
16.2%
(*.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))
51.2%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
28.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
50.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
30.5%
#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.7%
#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))))
28.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 735 to 530 computations (27.9% saved)

simplify397.0ms (3.8%)

Memory
5.2MiB live, 363.2MiB allocated; 77ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 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
(cos.f64 im)
cost-diff0
(fma.f64 (cos.f64 im) re (cos.f64 im))
cost-diff0
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037300
061300
1105300
2255300
3862300
42944300
08395297
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
im
re
#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
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
im
re
#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 (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 re #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)))
(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

localize133.0ms (1.3%)

Memory
17.0MiB live, 122.4MiB allocated; 19ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(*.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))
accuracy0.01171875
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
accuracy23.381630793492096
#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)))
accuracy31.035755857348384
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
accuracy0.09765625
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
accuracy0.203125
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy21.11807429164231
#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)))
accuracy32.02444955495144
#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.05078125
(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.09765625
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
accuracy31.220557498423553
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy32.02444955495144
#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.0
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
accuracy0.0
(*.f64 im im)
accuracy31.870319103821963
#s(approx (* (exp re) (cos im)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
accuracy31.888647635490102
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy0.0
(cos.f64 im)
accuracy0.0703125
(fma.f64 (cos.f64 im) re (cos.f64 im))
accuracy31.22861826924881
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
Samples
111.0ms256×0valid
Compiler

Compiled 178 to 32 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 93.0ms
ival-add: 62.0ms (66.4% of total)
ival-mult: 16.0ms (17.1% of total)
ival-cos: 6.0ms (6.4% of total)
const: 6.0ms (6.4% of total)
ival-exp: 2.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)

series12.0ms (0.1%)

Memory
-24.2MiB live, 20.4MiB allocated; 5ms collecting garbage
Counts
22 → 53
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
#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)
(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))
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))
(* re (cos im))
(* re (+ (cos im) (/ (cos im) 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 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) 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 (+ re (* (pow im 2) (- (* -1/2 re) 1/2))))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (* 1/24 re)))) 1/2))))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (+ (* 1/24 re) (* (pow im 2) (- (* -1/720 re) 1/720)))))) 1/2))))
(+ 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
(- (* 1/24 (pow im 2)) 1/2)
(* -1/2 (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/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
2.0ms
im
@0
((* (exp re) (cos im)) (+ (* (cos im) re) (cos im)) (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/2) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (+ (* 1/6 re) 1/2))
1.0ms
im
@inf
((* (exp re) (cos im)) (+ (* (cos im) re) (cos im)) (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/2) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (+ (* 1/6 re) 1/2))
1.0ms
re
@-inf
((* (exp re) (cos im)) (+ (* (cos im) re) (cos im)) (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/2) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (+ (* 1/6 re) 1/2))
1.0ms
re
@inf
((* (exp re) (cos im)) (+ (* (cos im) re) (cos im)) (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/2) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (+ (* 1/6 re) 1/2))
1.0ms
im
@-inf
((* (exp re) (cos im)) (+ (* (cos im) re) (cos im)) (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/2) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (+ (* 1/6 re) 1/2))

simplify576.0ms (5.5%)

Memory
-1.6MiB live, 247.2MiB allocated; 41ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0151497
1517482
21965474
37925474
08001422
Stop Event
iter limit
node limit
Counts
53 → 52
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))
(* re (cos im))
(* re (+ (cos im) (/ (cos im) 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 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) 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 (+ re (* (pow im 2) (- (* -1/2 re) 1/2))))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (* 1/24 re)))) 1/2))))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (+ (* 1/24 re) (* (pow im 2) (- (* -1/720 re) 1/720)))))) 1/2))))
(+ 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
(- (* 1/24 (pow im 2)) 1/2)
(* -1/2 (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/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 (cos.f64 im) (exp.f64 re))
(* re (cos im))
(*.f64 (cos.f64 im) re)
(* re (+ (cos im) (/ (cos im) re)))
(fma.f64 (cos.f64 im) 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 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(* -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 (fma.f64 #s(literal -1 binary64) (/.f64 (/.f64 (-.f64 re #s(literal -1 binary64)) re) 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 (+ re (* (pow im 2) (- (* -1/2 re) 1/2))))
(-.f64 (fma.f64 (fma.f64 #s(literal -1/2 binary64) re #s(literal -1/2 binary64)) (*.f64 im im) re) #s(literal -1 binary64))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (* 1/24 re)))) 1/2))))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) re #s(literal 1/24 binary64)) im) im (fma.f64 #s(literal -1/2 binary64) re #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #s(literal -1 binary64)))
(+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (+ (* 1/24 re) (* (pow im 2) (- (* -1/720 re) 1/720)))))) 1/2))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/720 binary64) re) #s(literal 1/720 binary64)) im) im (fma.f64 #s(literal 1/24 binary64) re #s(literal 1/24 binary64))) (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) re #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #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 (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
#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))
(* -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 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/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)))

rewrite88.0ms (0.8%)

Memory
25.3MiB live, 118.8MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037236
061236
1217236
01704233
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 223
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
#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)
(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))
Outputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(*.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64))) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)) (pow.f64 (cos.f64 im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)) (pow.f64 (cos.f64 im) #s(literal 2 binary64))) (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (fma.f64 (cos.f64 im) (cos.f64 im) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)) (*.f64 re (pow.f64 (cos.f64 im) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)) (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))) (/.f64 (pow.f64 (cos.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 (cos.f64 im)) re))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) 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)))))
#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 (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))))
(/.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)))
(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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(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 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(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))
(-.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 #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 re #s(literal -1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 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) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.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 (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))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) re)
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) re)
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) re)
(fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64))
(fma.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 #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 (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 (+.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)))
(/.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)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 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 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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(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 #s(literal 1/2 binary64) re #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 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
#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 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64)))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/4 binary64) #s(literal -1 binary64)) re) (fma.f64 #s(literal 1/2 binary64) re #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 #s(literal 1/2 binary64) re))))
(/.f64 (*.f64 re (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 (*.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 #s(literal 1/2 binary64) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) re re)
(fma.f64 #s(literal 1 binary64) re (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(fma.f64 #s(literal 1 binary64) re (*.f64 re (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 re (*.f64 #s(literal 1/2 binary64) re) re)
(fma.f64 re #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) re)
(+.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re)) re)
(+.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(+.f64 re (*.f64 re (*.f64 #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 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 3 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 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 3 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 (+.f64 #s(literal -1/8 binary64) (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))))
(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 #s(literal -1/2 binary64) #s(literal 1 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))
(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 (neg.f64 (*.f64 im im)) #s(literal 1/24 binary64)))
(+.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 (-.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 (+.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))))
(/.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)))
(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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im))
(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 (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 #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 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im))
(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 (neg.f64 (*.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))
(/.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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (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)))))
(fma.f64 #s(literal 1/2 binary64) #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) re))
(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))

eval57.0ms (0.5%)

Memory
-14.9MiB live, 118.0MiB allocated; 19ms collecting garbage
Compiler

Compiled 11 653 to 1 393 computations (88% saved)

prune34.0ms (0.3%)

Memory
25.5MiB live, 81.6MiB allocated; 8ms collecting garbage
Pruning

30 alts after pruning (21 fresh and 9 done)

PrunedKeptTotal
New39511406
Fresh11011
Picked235
Done066
Total39830428
Accuracy
100.0%
Counts
428 → 30
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
62.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
26.7%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
67.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))
39.8%
(*.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))))
39.2%
(*.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))))
63.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))) (cos.f64 im))
36.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
51.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
30.9%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
30.6%
(*.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))))
30.8%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
18.5%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
19.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))
19.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))
15.9%
(*.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))))
16.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))
14.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))) #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))))
13.4%
(*.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))) #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))))
12.9%
(*.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
16.2%
(*.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))
51.2%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
28.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
50.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
4.0%
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
30.5%
#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.7%
#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))))
28.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))))
23.4%
#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))))
12.0%
#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 186 to 846 computations (28.7% saved)

simplify366.0ms (3.5%)

Memory
6.5MiB live, 277.8MiB allocated; 39ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
cost-diff0
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
cost-diff0
#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))
cost-diff0
#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)))
cost-diff0
(*.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))))
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 #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))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058466
083466
1130466
2271466
3843466
42995466
08253466
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))) #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)
#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) #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))))
#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 (+ (* (+ (* (+ (* 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))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)
(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(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)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(pow.f64 im #s(literal 4 binary64))
im
#s(literal 4 binary64)
#s(literal 1/24 binary64)
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))) #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)
#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) #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 (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) #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 (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 (+ (* (+ (* (+ (* 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))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)
(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(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)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
(*.f64 #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))) #s(approx (exp re) (-.f64 re #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) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(pow.f64 im #s(literal 4 binary64))
im
#s(literal 4 binary64)
#s(literal 1/24 binary64)

localize236.0ms (2.2%)

Memory
-24.1MiB live, 243.1MiB allocated; 32ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.1171875
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
accuracy30.25639040556121
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
accuracy31.220557498423553
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy32.02444955495144
#s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))))
accuracy0.203125
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy21.11807429164231
#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)))
accuracy30.911576939596067
#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))
accuracy32.02444955495144
#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.22146371700114814
(/.f64 #s(literal 1 binary64) (*.f64 im im))
accuracy12.917091327240135
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
accuracy31.870319103821963
#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))))
accuracy31.888647635490102
#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.0078125
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
accuracy30.563729772091563
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
accuracy31.870319103821963
#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)))))
accuracy31.888647635490102
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
accuracy0.078125
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
accuracy0.203125
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy21.11807429164231
#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)))
accuracy31.888647635490102
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
Samples
124.0ms256×0valid
Compiler

Compiled 241 to 34 computations (85.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 86.0ms
ival-sub: 30.0ms (34.7% of total)
ival-mult: 28.0ms (32.4% of total)
ival-add: 8.0ms (9.3% of total)
const: 7.0ms (8.1% of total)
ival-cos: 6.0ms (6.9% of total)
ival-pow: 3.0ms (3.5% of total)
ival-div: 2.0ms (2.3% of total)
ival-exp: 2.0ms (2.3% of total)
exact: 1.0ms (1.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series9.0ms (0.1%)

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

6 calls:

TimeVariablePointExpression
2.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) (+ (* (* 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) re) (* (exp re) (cos im)) (exp re) (+ 1 re) (cos im) (cos im) (+ (* 1/6 re) 1/2) (* (- (/ 1 (* im im)) 1/2) im) (/ 1 (* im im)) (cos im) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (* (pow im 4) 1/24))
2.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) (+ (* (* 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) re) (* (exp re) (cos im)) (exp re) (+ 1 re) (cos im) (cos im) (+ (* 1/6 re) 1/2) (* (- (/ 1 (* im im)) 1/2) im) (/ 1 (* im im)) (cos im) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (* (pow im 4) 1/24))
1.0ms
im
@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) (+ (* (* 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) re) (* (exp re) (cos im)) (exp re) (+ 1 re) (cos im) (cos im) (+ (* 1/6 re) 1/2) (* (- (/ 1 (* im im)) 1/2) im) (/ 1 (* im im)) (cos im) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (* (pow im 4) 1/24))
1.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) (+ (* (* 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) re) (* (exp re) (cos im)) (exp re) (+ 1 re) (cos im) (cos im) (+ (* 1/6 re) 1/2) (* (- (/ 1 (* im im)) 1/2) im) (/ 1 (* im im)) (cos im) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (* (pow im 4) 1/24))
1.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) (+ (* (* 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) re) (* (exp re) (cos im)) (exp re) (+ 1 re) (cos im) (cos im) (+ (* 1/6 re) 1/2) (* (- (/ 1 (* im im)) 1/2) im) (/ 1 (* im im)) (cos im) (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (* (pow im 4) 1/24))

simplify248.0ms (2.4%)

Memory
-20.4MiB live, 175.8MiB allocated; 17ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0123410
1412395
21492387
35569386
08460348
Stop Event
iter limit
node limit
Counts
46 → 45
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 (pow re 2))
(* (pow re 2) (+ 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/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)))
(* -1/2 (pow im 2))
(/ 1 im)
(/ (+ 1 (* -1/2 (pow im 2))) im)
(/ 1 (pow im 2))
(* 1/24 (pow im 4))
(* (pow im 2) (- (/ 1 (pow im 2)) 1/2))
(* -1/2 im)
(* im (- (/ 1 (pow im 2)) 1/2))
(* (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)))))
(* -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 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(* (pow re 2) (+ 1/2 (* 1/6 re)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) 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 (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/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 (*.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))
(* -1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(/ 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 (pow im 2))
(/.f64 (/.f64 #s(literal 1 binary64) im) im)
(* 1/24 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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/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)
(* (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)))
(* -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)))

rewrite184.0ms (1.7%)

Memory
11.3MiB live, 107.8MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
058388
083388
1229376
01505376
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
27 → 148
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))) #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))
#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) #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))))
#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 (+ (* (+ (* (+ (* 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))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))))
#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))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) im)
(/.f64 #s(literal 1 binary64) (*.f64 im 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)))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
Outputs
(*.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))))
(*.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))))
#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 (+.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)))
(/.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)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 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 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 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(fma.f64 #s(literal -1 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 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(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)) #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/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))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im 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 4 binary64)) #s(literal -1 binary64)) #s(literal 1/4 binary64)) (*.f64 im 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 3 binary64)) #s(literal 1/8 binary64)) (*.f64 im im)) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 im #s(literal 4 binary64)) #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) #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))))
(*.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))))
#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 (+ (* (+ (* (+ (* 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))
(*.f64 (*.f64 re re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) re)
(*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) (*.f64 re re))
(*.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 binary64))) (*.f64 re re)) (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(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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 (+.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 (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))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) re)
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) re)
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) re)
(fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64))
(fma.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) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))))
#s(approx (cos im) (fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64)))
(/.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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 3 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 (+.f64 #s(literal 1/8 binary64) (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)))))
(fma.f64 #s(literal 1 binary64) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re))
(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 (-.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 4 binary64)) #s(literal -1 binary64)) #s(literal 1/4 binary64)) 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 3 binary64)) #s(literal 1/8 binary64)) im) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)) #s(literal 1/4 binary64))) (+.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/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 (pow.f64 im #s(literal -2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))))
(*.f64 (pow.f64 (*.f64 im im) #s(literal -1/2 binary64)) (pow.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (fabs.f64 im)) (/.f64 #s(literal 1 binary64) (fabs.f64 im)))
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 im)) (/.f64 #s(literal 1 binary64) (neg.f64 im)))
(*.f64 (pow.f64 (fabs.f64 im) #s(literal -1 binary64)) (pow.f64 (fabs.f64 im) #s(literal -1 binary64)))
(*.f64 (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64)))
(pow.f64 (*.f64 im im) #s(literal -1 binary64))
(pow.f64 im #s(literal -2 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (fabs.f64 im)) (fabs.f64 im))
(/.f64 (/.f64 #s(literal 1 binary64) (neg.f64 im)) (neg.f64 im))
(/.f64 (neg.f64 (pow.f64 im #s(literal -1 binary64))) (neg.f64 im))
(/.f64 (pow.f64 im #s(literal -1 binary64)) im)
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im))
(/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 im im) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 im im))
(neg.f64 (/.f64 #s(literal -1 binary64) (*.f64 im im)))
(neg.f64 (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) im)))
(exp.f64 (*.f64 (log.f64 (*.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)))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (*.f64 im im))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) (pow.f64 im #s(literal 4 binary64)))
(*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))

eval56.0ms (0.5%)

Memory
-0.1MiB live, 41.5MiB allocated; 10ms collecting garbage
Compiler

Compiled 6 623 to 987 computations (85.1% saved)

prune41.0ms (0.4%)

Memory
0.5MiB live, 47.0MiB allocated; 3ms collecting garbage
Pruning

33 alts after pruning (21 fresh and 12 done)

PrunedKeptTotal
New19511206
Fresh61016
Picked235
Done099
Total20333236
Accuracy
100.0%
Counts
236 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
62.0%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
26.7%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
67.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))
39.8%
(*.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))))
39.8%
(*.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 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
36.0%
(*.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.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))) (cos.f64 im))
30.6%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
51.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im))
30.9%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
18.5%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
18.5%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
16.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))
19.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))
19.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.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
15.5%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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))))
13.3%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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))))
16.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))
14.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))) #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))))
13.4%
(*.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))) #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))))
12.9%
(*.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
16.2%
(*.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))
51.2%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
28.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im)))
50.2%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
4.0%
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
29.7%
#s(approx (* (exp re) (cos im)) #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))))
28.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))))
23.4%
#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))))
12.0%
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #s(literal -1/2 binary64) im) im))))
27.7%
#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 885 to 760 computations (59.7% saved)

regimes71.0ms (0.7%)

Memory
0.9MiB live, 53.4MiB allocated; 17ms collecting garbage
Counts
45 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
(*.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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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))
(*.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 (-.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) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

27.0ms
im
12.0ms
re
11.0ms
(cos.f64 im)
10.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
9.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)

regimes105.0ms (1%)

Memory
-12.9MiB live, 80.6MiB allocated; 6ms collecting garbage
Counts
43 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
(*.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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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))
(*.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 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #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) (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 (*.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))) (cos.f64 im))
Calls

5 calls:

49.0ms
im
22.0ms
(exp.f64 re)
11.0ms
re
11.0ms
(cos.f64 im)
9.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
84.0%2(cos.f64 im)
85.4%2(exp.f64 re)
91.7%4(*.f64 (exp.f64 re) (cos.f64 im))
91.7%4re
83.6%2im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes24.0ms (0.2%)

Memory
-4.1MiB live, 41.8MiB allocated; 4ms collecting garbage
Counts
42 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
(*.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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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))
(*.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/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (cos.f64 im))
Calls

2 calls:

11.0ms
re
11.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
88.6%4(*.f64 (exp.f64 re) (cos.f64 im))
90.1%4re
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes13.0ms (0.1%)

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

1 calls:

11.0ms
re
Results
AccuracySegmentsBranch
90.0%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes24.0ms (0.2%)

Memory
-39.3MiB live, 13.2MiB allocated; 22ms collecting garbage
Counts
38 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
(*.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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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))
(*.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:

22.0ms
re
Results
AccuracySegmentsBranch
89.8%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes28.0ms (0.3%)

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

3 calls:

10.0ms
re
8.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
7.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
82.6%3(exp.f64 re)
89.2%5(*.f64 (exp.f64 re) (cos.f64 im))
88.8%5re
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes98.0ms (0.9%)

Memory
-16.6MiB live, 77.3MiB allocated; 8ms collecting garbage
Counts
35 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
(*.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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 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))
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 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))
Calls

5 calls:

31.0ms
im
9.0ms
re
9.0ms
(cos.f64 im)
8.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
7.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
75.4%3(exp.f64 re)
58.5%2im
58.8%2(cos.f64 im)
81.6%5re
82.0%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes21.0ms (0.2%)

Memory
-6.5MiB live, 38.1MiB allocated; 5ms collecting garbage
Counts
31 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) #s(approx (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re)))
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))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
#s(approx (* (exp re) (cos im)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))
Calls

2 calls:

12.0ms
re
7.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
77.6%4re
81.5%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes45.0ms (0.4%)

Memory
9.4MiB live, 99.6MiB allocated; 13ms collecting garbage
Counts
29 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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) (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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #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) (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 (*.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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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 #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))))
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)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
#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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))
Calls

5 calls:

12.0ms
re
10.0ms
im
7.0ms
(cos.f64 im)
7.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
6.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
39.8%1im
46.4%2(cos.f64 im)
52.5%3(exp.f64 re)
55.3%4re
59.6%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes8.0ms (0.1%)

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

1 calls:

6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
59.4%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes33.0ms (0.3%)

Memory
-13.3MiB live, 29.9MiB allocated; 8ms 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 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 (*.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))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
#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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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:

31.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
58.8%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes9.0ms (0.1%)

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

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

Compiled 5 to 5 computations (0% saved)

regimes6.0ms (0.1%)

Memory
20.0MiB live, 20.0MiB allocated; 0ms collecting garbage
Counts
21 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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) #s(approx (+ (* (+ (* (+ (* 1/6 re) 1/2) re) 1) re) 1) (*.f64 (*.f64 #s(approx (+ (* 1/6 re) 1/2) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
#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 #s(approx (+ (* 1/6 re) 1/2) #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
56.3%4(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes28.0ms (0.3%)

Memory
-17.8MiB live, 32.2MiB allocated; 27ms 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 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 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))) #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 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.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(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) #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) (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
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))))
#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 #s(approx (+ (* 1/24 (* im im)) -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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Calls

2 calls:

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

Compiled 6 to 7 computations (-16.7% saved)

regimes14.0ms (0.1%)

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

3 calls:

5.0ms
re
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
49.6%4(*.f64 (exp.f64 re) (cos.f64 im))
47.1%2(exp.f64 re)
50.5%4re
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes8.0ms (0.1%)

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

1 calls:

7.0ms
re
Results
AccuracySegmentsBranch
50.5%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes14.0ms (0.1%)

Memory
-4.1MiB live, 42.3MiB allocated; 3ms collecting garbage
Counts
9 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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/2 re) 1) re) 1) (*.f64 (fma.f64 #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 #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(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))))
(*.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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Calls

4 calls:

5.0ms
(cos.f64 im)
3.0ms
re
3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
35.3%2(cos.f64 im)
45.0%4(*.f64 (exp.f64 re) (cos.f64 im))
44.6%3(exp.f64 re)
46.5%4re
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes11.0ms (0.1%)

Memory
28.6MiB live, 28.6MiB allocated; 0ms collecting garbage
Counts
8 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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))))
(*.f64 #s(approx (exp re) (-.f64 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) (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) (cos im)) #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
(*.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 #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(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

4 calls:

3.0ms
re
3.0ms
im
2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
30.6%1im
44.0%4(*.f64 (exp.f64 re) (cos.f64 im))
39.4%3(exp.f64 re)
41.3%4re
Compiler

Compiled 9 to 12 computations (-33.3% saved)

regimes5.0ms (0%)

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

2 calls:

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

Compiled 6 to 7 computations (-16.7% saved)

regimes45.0ms (0.4%)

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

3 calls:

41.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
re
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
37.2%3(exp.f64 re)
37.3%3re
37.8%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes5.0ms (0%)

Memory
10.8MiB live, 10.8MiB 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 #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 (*.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 #s(literal -1/2 binary64) im) im))))
#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:

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

Compiled 8 to 10 computations (-25% saved)

regimes6.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #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 (*.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 #s(literal -1/2 binary64) im) im))))
Calls

5 calls:

1.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
12.0%1im
12.0%1(cos.f64 im)
12.0%1(exp.f64 re)
12.0%1re
12.0%1(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch97.0ms (0.9%)

Memory
-15.9MiB live, 78.2MiB allocated; 18ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
7.737019784198316e+93
2.1025703142937377e+94
26.0ms
5.1595366699537015
2.6871084755750605e+27
60.0ms
-0.028879248092246505
-4.2173099986702434e-5
Samples
77.0ms384×0valid
Compiler

Compiled 836 to 679 computations (18.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 62.0ms
ival-mult: 48.0ms (77.8% of total)
ival-cos: 9.0ms (14.6% of total)
ival-exp: 4.0ms (6.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch21.0ms (0.2%)

Memory
27.6MiB live, 27.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
2.682966783881113e+151
4.2448592892449567e+170
1.0ms
5.1595366699537015
2.6871084755750605e+27
1.0ms
-0.028879248092246505
-4.2173099986702434e-5
Samples
9.0ms160×0valid
Compiler

Compiled 870 to 746 computations (14.3% saved)

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

bsearch69.0ms (0.7%)

Memory
-8.8MiB live, 34.5MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
2.682966783881113e+151
4.2448592892449567e+170
1.0ms
5.1595366699537015
2.6871084755750605e+27
17.0ms
-4.2173099986702434e-5
-4.811488755535847e-15
Samples
10.0ms160×0valid
Compiler

Compiled 863 to 752 computations (12.9% saved)

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

bsearch215.0ms (2%)

Memory
-5.9MiB live, 37.2MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
2.682966783881113e+151
4.2448592892449567e+170
210.0ms
9.624234254335356e-10
0.003662245451028687
1.0ms
-4.2173099986702434e-5
-4.811488755535847e-15
Samples
205.0ms144×0valid
Compiler

Compiled 737 to 670 computations (9.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-cos: 3.0ms (52.1% of total)
ival-exp: 2.0ms (34.8% of total)
ival-mult: 1.0ms (17.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
2.5MiB live, 2.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
0.0ms
-inf
-162.19981523143915
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
0.0ms
-inf
-162.19981523143915
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
0.0ms
-inf
-162.19981523143915
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
1.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9420007411613863
0.9715337719403204
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
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.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9989431134218453
0.999957827789286
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
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
1.003668959665766
+inf
0.0ms
0.0
0.021774754249704115
0.0ms
-0.04584705879298484
0.0
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch99.0ms (0.9%)

Memory
-36.7MiB live, 71.3MiB allocated; 71ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
6.8972950515449375e+90
7.737019784198316e+93
14.0ms
9.624234254335356e-10
0.003662245451028687
46.0ms
-6634.888583326411
-0.028879248092246505
Samples
55.0ms400×0valid
Compiler

Compiled 1 637 to 1 169 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 46.0ms
ival-exp: 34.0ms (73.6% of total)
ival-cos: 9.0ms (19.5% of total)
ival-mult: 3.0ms (6.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch13.0ms (0.1%)

Memory
24.3MiB live, 24.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
6.8972950515449375e+90
7.737019784198316e+93
1.0ms
9.624234254335356e-10
0.003662245451028687
1.0ms
-6634.888583326411
-0.028879248092246505
Samples
5.0ms80×0valid
Compiler

Compiled 1 589 to 1 129 computations (28.9% saved)

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

bsearch23.0ms (0.2%)

Memory
-13.0MiB live, 29.9MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
6.8972950515449375e+90
7.737019784198316e+93
19.0ms
5.1595366699537015
2.6871084755750605e+27
1.0ms
-6634.888583326411
-0.028879248092246505
Samples
14.0ms112×0valid
Compiler

Compiled 1 557 to 1 099 computations (29.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 7.0ms (63.2% of total)
ival-cos: 2.0ms (18.1% of total)
ival-exp: 1.0ms (9% 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%)

Memory
6.9MiB live, 6.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
6.8972950515449375e+90
7.737019784198316e+93
2.0ms
5.1595366699537015
2.6871084755750605e+27
1.0ms
-6634.888583326411
-0.028879248092246505
Compiler

Compiled 1 458 to 1 045 computations (28.3% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9989431134218453
0.999957827789286
0.0ms
0.0
0.021774754249704115
0.0ms
-162.19981523143915
-0.9999924219590178
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.021774754249704115
0.0ms
-162.19981523143915
-0.9999924219590178
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.021774754249704115
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.021774754249704115
Compiler

Compiled 8 to 10 computations (-25% saved)

simplify86.0ms (0.8%)

Memory
-0.3MiB live, 98.6MiB allocated; 29ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02132435
12582435
24062435
310232435
435312435
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 re #s(literal -7926335344172073/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 5854679515581645/1125899906842624 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 20999999999999998942457719432627585338389414676296292042037510260168864399904375195244594987008 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) #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 -7926335344172073/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 5854679515581645/1125899906842624 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 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -6198106008766409/147573952589676412928 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 5854679515581645/1125899906842624 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 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -6198106008766409/147573952589676412928 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 7194230188746725/18446744073709551616 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 re #s(literal 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -5764607523034235/144115188075855872 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 0 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 2 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(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 -5764607523034235/144115188075855872 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 0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(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 -5764607523034235/144115188075855872 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 4278419646001971/4503599627370496 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) #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 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 35999999999999999245740906339966790167030859524511658159104163103288924474876839835625062400 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -510 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -100 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 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 -100 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 #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(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 #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(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 #s(literal -1/2 binary64) im) im)))) #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 #s(literal -1/2 binary64) im) im))))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 re #s(literal -7926335344172073/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 5854679515581645/1125899906842624 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 20999999999999998942457719432627585338389414676296292042037510260168864399904375195244594987008 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) #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 -7926335344172073/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 5854679515581645/1125899906842624 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 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -6198106008766409/147573952589676412928 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 5854679515581645/1125899906842624 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 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -6198106008766409/147573952589676412928 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 7194230188746725/18446744073709551616 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (cos.f64 im)) (if (<=.f64 re #s(literal 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912 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 -5764607523034235/144115188075855872 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 0 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 2 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(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 -5764607523034235/144115188075855872 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 0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(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 -5764607523034235/144115188075855872 binary64)) #s(approx (* (exp re) (cos im)) (cos.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 0 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 2 binary64)) #s(approx (* (exp re) (cos im)) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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))))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) (-.f64 (*.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)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 4278419646001971/4503599627370496 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 4278419646001971/4503599627370496 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) (*.f64 #s(literal 1/6 binary64) re)) 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) #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 -5764607523034235/144115188075855872 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)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (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 #s(approx (+ (* 1/6 re) 1/2) #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 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 35999999999999999245740906339966790167030859524511658159104163103288924474876839835625062400 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 4835703278458517/4835703278458516698824704 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 35999999999999999245740906339966790167030859524511658159104163103288924474876839835625062400 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -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/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -500 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (*.f64 im im) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -510 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 re #s(literal -510 binary64)) #s(approx (* (exp re) (cos im)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 re #s(literal 380 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 11499999999999999558028190154926552026324120041358050777786773169035760527638462711531044864 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) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #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)))))))
(if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal -100 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 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 -100 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 #s(literal -1/2 binary64) im) im)))) (if (<=.f64 (*.f64 (exp.f64 re) (cos.f64 im)) #s(literal 8998192055486251/9007199254740992 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 -100 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 #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(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 -100 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 #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(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 #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(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 #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(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 #s(literal -1/2 binary64) im) im)))) #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 #s(literal -1/2 binary64) im) im))))

derivations1.7s (16.2%)

Memory
-8.6MiB live, 1 603.2MiB allocated; 230ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064175
1237164
2910160
34069156
08359136
058388
083388
1229376
01505376
0123410
1412395
21492387
35569386
08460348
0151497
1517482
21965474
37925474
08001422
0108358
1387341
21456333
35769332
08274292
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 2 435 to 219 computations (91% saved)

preprocess166.0ms (1.6%)

Memory
22.7MiB live, 158.7MiB allocated; 34ms collecting garbage
Remove

(abs im)

Compiler

Compiled 4 900 to 468 computations (90.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...