math.exp on complex, imaginary part

Time bar (total: 6.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample1.3s (18.7%)

Memory
40.0MiB live, 1 576.1MiB allocated; 410ms collecting garbage
Samples
982.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 558.0ms
ival-sin: 303.0ms (54.3% of total)
ival-exp: 189.0ms (33.9% of total)
ival-mult: 54.0ms (9.7% of total)
ival-true: 6.0ms (1.1% of total)
ival-assert: 4.0ms (0.7% of total)
adjust: 3.0ms (0.5% of total)
Bogosity

explain204.0ms (3%)

Memory
-21.0MiB live, 136.3MiB allocated; 107ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (exp.f64 re) (sin.f64 im))
00-0-(sin.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
32.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-sin: 11.0ms (56.5% of total)
ival-exp: 4.0ms (20.6% of total)
ival-mult: 3.0ms (15.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess196.0ms (2.9%)

Memory
4.2MiB live, 242.5MiB allocated; 49ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01531
13829
211527
340727
4164827
055
085
1125
2265
3675
42795
522965
081255
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sin.f64 im) (exp.f64 re))
Symmetry

(negabs im)

Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 5 to 5 computations (0% saved)

simplify188.0ms (2.8%)

Memory
49.0MiB live, 274.8MiB allocated; 31ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0811
11211
22611
36711
427911
5229611
0812511
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 re)
re
(sin.f64 im)
im
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sin.f64 im) (exp.f64 re))
(exp.f64 re)
re
(sin.f64 im)
im

localize26.0ms (0.4%)

Memory
10.9MiB live, 56.1MiB allocated; 7ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 im)
accuracy0.0
(exp.f64 re)
accuracy0.01953125
(*.f64 (exp.f64 re) (sin.f64 im))
Samples
21.0ms256×0valid
Compiler

Compiled 13 to 7 computations (46.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-sin: 10.0ms (71.4% of total)
ival-exp: 2.0ms (14.3% of total)
ival-mult: 2.0ms (14.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.2%)

Memory
-49.7MiB live, 7.9MiB allocated; 14ms collecting garbage
Counts
3 → 18
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 re)
(sin.f64 im)
Outputs
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(* (exp re) (sin im))
(exp re)
(* im (exp re))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
im
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
Calls

6 calls:

TimeVariablePointExpression
10.0ms
re
@inf
((* (exp re) (sin im)) (exp re) (sin im))
1.0ms
im
@0
((* (exp re) (sin im)) (exp re) (sin im))
1.0ms
re
@-inf
((* (exp re) (sin im)) (exp re) (sin im))
0.0ms
re
@0
((* (exp re) (sin im)) (exp re) (sin im))
0.0ms
im
@-inf
((* (exp re) (sin im)) (exp re) (sin im))

simplify276.0ms (4.1%)

Memory
20.8MiB live, 343.3MiB allocated; 94ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071192
1274181
21066169
35077163
08552143
Stop Event
iter limit
node limit
Counts
18 → 17
Calls
Call 1
Inputs
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(* (exp re) (sin im))
(exp re)
(* im (exp re))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
im
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
Outputs
(sin im)
(sin.f64 im)
(+ (sin im) (* re (sin im)))
(fma.f64 (sin.f64 im) re (sin.f64 im))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)) (sin.f64 im))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
(*.f64 (sin.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))
(* (exp re) (sin im))
(*.f64 (exp.f64 re) (sin.f64 im))
(exp re)
(exp.f64 re)
(* im (exp re))
(*.f64 (exp.f64 re) im)
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im) (exp.f64 re))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(*.f64 (exp.f64 re) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(*.f64 (*.f64 (exp.f64 re) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)))) im)
im
(* im (+ 1 (* -1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) im)
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64))) im)

rewrite140.0ms (2.1%)

Memory
26.9MiB live, 172.1MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
089
1129
2409
32939
046219
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 147
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 re)
(sin.f64 im)
Outputs
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (sin.f64 im)) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (*.f64 (sinh.f64 re) (cosh.f64 re))))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (sin.f64 im)) (+.f64 (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (-.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))))
(*.f64 (/.f64 (sin.f64 im) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 re) (exp.f64 re) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 im) (-.f64 (*.f64 #s(literal 4 binary64) (cosh.f64 re)) (*.f64 #s(literal 4 binary64) (sinh.f64 re)))) #s(literal 4 binary64))
(*.f64 (/.f64 (sin.f64 im) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 re)))) #s(literal 2 binary64))
(*.f64 (/.f64 (sin.f64 im) #s(literal 1 binary64)) (exp.f64 re))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (/.f64 (sin.f64 im) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (sin.f64 im))
(/.f64 (*.f64 (*.f64 (exp.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re))) (sin.f64 im)) (-.f64 (sinh.f64 re) (cosh.f64 re)))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (exp.f64 re)) (sin.f64 im)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 im)) (/.f64 #s(literal -1 binary64) (exp.f64 re)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64)))) (sin.f64 im)) (neg.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (*.f64 (fma.f64 #s(literal 4 binary64) (sinh.f64 re) (*.f64 #s(literal 4 binary64) (cosh.f64 re))) (sin.f64 im)) #s(literal 4 binary64))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (exp.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)))) (-.f64 (sinh.f64 re) (cosh.f64 re)))
(/.f64 (*.f64 (sin.f64 im) (*.f64 #s(literal 2 binary64) (exp.f64 re))) #s(literal 2 binary64))
(/.f64 (*.f64 (sin.f64 im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (exp.f64 re)))
(/.f64 (*.f64 (sin.f64 im) (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 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (*.f64 (sin.f64 im) (fma.f64 #s(literal 4 binary64) (sinh.f64 re) (*.f64 #s(literal 4 binary64) (cosh.f64 re)))) #s(literal 4 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 im)) (sinh.f64 re)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (*.f64 (neg.f64 (sin.f64 im)) (sinh.f64 re))))))
(/.f64 (fma.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (sinh.f64 re) (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (cosh.f64 re))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (cosh.f64 re) (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (sinh.f64 re))) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (sin.f64 im))) (neg.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 im) (exp.f64 re)) (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re))))) (neg.f64 (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (sinh.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (cosh.f64 re)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (cosh.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (sin.f64 im) #s(literal 2 binary64)) (sinh.f64 re)))) #s(literal 4 binary64))
(/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (sin.f64 im)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))
(/.f64 (neg.f64 (sin.f64 im)) (/.f64 #s(literal -1 binary64) (exp.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 im) (exp.f64 re)) (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))) (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (sinh.f64 re)) (sin.f64 im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64))))
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (sin.f64 im) (*.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (sin.f64 im)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) (/.f64 (sin.f64 im) #s(literal 2 binary64)) (*.f64 (neg.f64 (neg.f64 (sin.f64 im))) (sinh.f64 re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) (/.f64 (sin.f64 im) #s(literal 2 binary64)) (*.f64 (sinh.f64 re) (sin.f64 im)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (/.f64 (sin.f64 im) #s(literal 2 binary64)) (*.f64 (cosh.f64 re) (sin.f64 im)))
(fma.f64 (sinh.f64 re) (sin.f64 im) (*.f64 (cosh.f64 re) (sin.f64 im)))
(fma.f64 (cosh.f64 re) (sin.f64 im) (*.f64 (neg.f64 (neg.f64 (sin.f64 im))) (sinh.f64 re)))
(fma.f64 (cosh.f64 re) (sin.f64 im) (*.f64 (sinh.f64 re) (sin.f64 im)))
(fma.f64 (sin.f64 im) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (*.f64 (sin.f64 im) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))
(fma.f64 (sin.f64 im) (sinh.f64 re) (*.f64 (cosh.f64 re) (sin.f64 im)))
(fma.f64 (sin.f64 im) (cosh.f64 re) (*.f64 (neg.f64 (neg.f64 (sin.f64 im))) (sinh.f64 re)))
(fma.f64 (sin.f64 im) (cosh.f64 re) (*.f64 (sinh.f64 re) (sin.f64 im)))
(-.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))) (/.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 2 binary64)) (*.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))))
(-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (neg.f64 (cosh.f64 re)) (sin.f64 im)))
(-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (neg.f64 (sin.f64 im)) (cosh.f64 re)))
(-.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (*.f64 (neg.f64 (sin.f64 im)) (sinh.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (sin.f64 im)) (*.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))) (*.f64 (sin.f64 im) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))
(+.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (fma.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) #s(literal 3 binary64)) (fma.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (-.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (sinh.f64 re) (sin.f64 im)) (*.f64 (cosh.f64 re) (sin.f64 im)))
(+.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (*.f64 (neg.f64 (neg.f64 (sin.f64 im))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (*.f64 (sinh.f64 re) (sin.f64 im)))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 re) (exp.f64 re) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 4 binary64) (cosh.f64 re)) (*.f64 #s(literal 4 binary64) (sinh.f64 re)))) #s(literal 4 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 re)))) #s(literal 2 binary64))
(*.f64 (/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (*.f64 (sinh.f64 re) (cosh.f64 re))))
(*.f64 (/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (-.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))))
(*.f64 #s(literal 1 binary64) (exp.f64 re))
(*.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (/.f64 (exp.f64 re) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(*.f64 (exp.f64 re) #s(literal 1 binary64))
(pow.f64 (exp.f64 (neg.f64 re)) #s(literal -1 binary64))
(/.f64 (/.f64 (fma.f64 #s(literal 4 binary64) (sinh.f64 re) (*.f64 #s(literal 4 binary64) (cosh.f64 re))) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re)))) (*.f64 (/.f64 (pow.f64 (sinh.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))))) (fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)) (exp.f64 re) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))) (-.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (fma.f64 (/.f64 (pow.f64 (sinh.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))) (*.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)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))))
(/.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 (neg.f64 (*.f64 (exp.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re)))) (neg.f64 (-.f64 (sinh.f64 re) (cosh.f64 re))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (exp.f64 re))) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (sinh.f64 re) (*.f64 #s(literal 4 binary64) (cosh.f64 re)))) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (*.f64 (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (*.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (pow.f64 (sinh.f64 re) #s(literal 3 binary64)))) (*.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.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) (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) (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 (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 (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 (cosh.f64 (+.f64 re re)) #s(literal 1 binary64)) (*.f64 (cosh.f64 (+.f64 re re)) (exp.f64 (neg.f64 re))))
(/.f64 (*.f64 (exp.f64 re) (-.f64 (sinh.f64 re) (cosh.f64 re))) (-.f64 (sinh.f64 re) (cosh.f64 re)))
(/.f64 (-.f64 (pow.f64 (cosh.f64 re) #s(literal 6 binary64)) (pow.f64 (sinh.f64 re) #s(literal 6 binary64))) (*.f64 (fma.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (cosh.f64 (+.f64 re re)) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))) (exp.f64 (neg.f64 re))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 re) #s(literal 6 binary64)) (pow.f64 (sinh.f64 re) #s(literal 6 binary64))) (*.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) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 9 binary64)) (pow.f64 (cosh.f64 re) #s(literal 9 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 6 binary64)) (pow.f64 (sinh.f64 re) #s(literal 6 binary64))) (pow.f64 (*.f64 (sinh.f64 re) (cosh.f64 re)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 2 binary64) (exp.f64 re)) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (exp.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 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 #s(literal 4 binary64) (sinh.f64 re) (*.f64 #s(literal 4 binary64) (cosh.f64 re))) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 #s(literal -1 binary64) (exp.f64 re))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 re)))
(/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))
(neg.f64 (/.f64 #s(literal -1 binary64) (exp.f64 (neg.f64 re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64)))) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(neg.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (exp.f64 re))))
(neg.f64 (/.f64 (+.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 3 binary64))) (neg.f64 (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (*.f64 (sinh.f64 re) (cosh.f64 re))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (-.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 re) (exp.f64 re) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) (cosh.f64 re)) (*.f64 #s(literal 4 binary64) (sinh.f64 re)))) #s(literal 4 binary64) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 re)))) #s(literal 2 binary64) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)) (exp.f64 re) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (*.f64 (sinh.f64 re) (cosh.f64 re))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (-.f64 (*.f64 (-.f64 (sinh.f64 re) (cosh.f64 re)) (sinh.f64 re)) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (sinh.f64 re) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3/2 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (cosh.f64 re) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3/2 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (neg.f64 (cosh.f64 re)) (/.f64 (neg.f64 (cosh.f64 re)) (exp.f64 (neg.f64 re))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (fabs.f64 (cosh.f64 re)) (/.f64 (fabs.f64 (cosh.f64 re)) (exp.f64 (neg.f64 re))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(fma.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (/.f64 (sinh.f64 re) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (/.f64 (cosh.f64 re) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 re) #s(literal 2 binary64)) (cosh.f64 re))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 re) #s(literal 2 binary64)) (sinh.f64 re))
(fma.f64 (sinh.f64 re) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (cosh.f64 re) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(fma.f64 (cosh.f64 re) (/.f64 (cosh.f64 re) (exp.f64 (neg.f64 re))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(-.f64 (+.f64 (cosh.f64 re) (/.f64 (exp.f64 re) #s(literal 2 binary64))) (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (-.f64 (sinh.f64 re) (cosh.f64 re))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (-.f64 (sinh.f64 re) (cosh.f64 re))))
(-.f64 (/.f64 (exp.f64 re) #s(literal 2 binary64)) (-.f64 (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)) (cosh.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))))
(-.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re)))
(exp.f64 re)
(+.f64 (+.f64 (sinh.f64 re) (/.f64 (exp.f64 re) #s(literal 2 binary64))) (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 4 binary64) (sinh.f64 re)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) (cosh.f64 re)) #s(literal 4 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 4 binary64) (cosh.f64 re)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) (sinh.f64 re)) #s(literal 4 binary64)))
(+.f64 (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 re) #s(literal 3 binary64)) (fma.f64 (cosh.f64 re) (exp.f64 (neg.f64 re)) (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(+.f64 (/.f64 (exp.f64 re) #s(literal 2 binary64)) (+.f64 (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)) (sinh.f64 re)))
(+.f64 (/.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (exp.f64 (neg.f64 re))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (exp.f64 (neg.f64 re))))
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
(*.f64 #s(literal 1 binary64) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) (exp.f64 re)) (exp.f64 (neg.f64 re)))
(*.f64 (sin.f64 im) #s(literal 1 binary64))
(*.f64 (exp.f64 re) (*.f64 (exp.f64 (neg.f64 re)) (sin.f64 im)))
(/.f64 (*.f64 (*.f64 (cosh.f64 (+.f64 re re)) #s(literal 1 binary64)) (sin.f64 im)) (cosh.f64 (+.f64 re re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (cosh.f64 re) #s(literal 6 binary64)) (pow.f64 (sinh.f64 re) #s(literal 6 binary64))) (sin.f64 im)) (fma.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (cosh.f64 (+.f64 re re)) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (cosh.f64 (+.f64 re re)) #s(literal 1 binary64))) (cosh.f64 (+.f64 re re)))
(/.f64 (*.f64 (sin.f64 im) (-.f64 (pow.f64 (cosh.f64 re) #s(literal 6 binary64)) (pow.f64 (sinh.f64 re) #s(literal 6 binary64)))) (fma.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)) (cosh.f64 (+.f64 re re)) (pow.f64 (cosh.f64 re) #s(literal 4 binary64))))
(fma.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (sin.f64 im) (*.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (sin.f64 im)))
(fma.f64 (sin.f64 im) (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (*.f64 (sin.f64 im) (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))
(sin.f64 im)
(+.f64 (*.f64 (pow.f64 (cosh.f64 re) #s(literal 2 binary64)) (sin.f64 im)) (*.f64 (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64))) (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) (pow.f64 (cosh.f64 re) #s(literal 2 binary64))) (*.f64 (sin.f64 im) (neg.f64 (pow.f64 (sinh.f64 re) #s(literal 2 binary64)))))

eval19.0ms (0.3%)

Memory
-2.8MiB live, 42.5MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 626 to 539 computations (85.1% saved)

prune17.0ms (0.3%)

Memory
-18.3MiB live, 38.5MiB allocated; 7ms collecting garbage
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1577164
Fresh000
Picked011
Done000
Total1578165
Accuracy
100.0%
Counts
165 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
100.0%
(*.f64 (exp.f64 re) (sin.f64 im))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.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))) (sin.f64 im))
49.1%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
49.1%
#s(approx (* (exp re) (sin im)) (fma.f64 (sin.f64 im) re (sin.f64 im)))
70.6%
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
48.4%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Compiler

Compiled 153 to 123 computations (19.6% saved)

simplify151.0ms (2.3%)

Memory
18.7MiB live, 156.0MiB allocated; 11ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 17 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))) (sin.f64 im))
cost-diff0
(sin.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)) (sin.f64 im))
cost-diff0
(exp.f64 re)
cost-diff0
(*.f64 (exp.f64 re) im)
cost-diff0
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
cost-diff0
(sin.f64 im)
cost-diff0
#s(approx (* (exp re) (sin im)) (sin.f64 im))
cost-diff0
(neg.f64 re)
cost-diff0
(exp.f64 (neg.f64 re))
cost-diff0
(sin.f64 im)
cost-diff1
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022107
036107
155107
2106106
3326106
41394106
09185106
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(sin.f64 im)
im
(exp.f64 (neg.f64 re))
(neg.f64 re)
re
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 (exp.f64 re) im)
(exp.f64 re)
re
im
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(sin.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))) (sin.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)
(sin.f64 im)
im
Outputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(*.f64 (exp.f64 re) (sin.f64 im))
(sin.f64 im)
im
(exp.f64 (neg.f64 re))
(neg.f64 re)
re
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 (exp.f64 re) im)
(exp.f64 re)
re
im
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.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
(sin.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))) (sin.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)
(sin.f64 im)
im

localize65.0ms (1%)

Memory
-14.0MiB live, 81.4MiB allocated; 12ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
accuracy0.0
(sin.f64 im)
accuracy0.01953125
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
accuracy16.561301460320845
#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 #s(literal 1 binary64) re)
accuracy0.0
(sin.f64 im)
accuracy0.01953125
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
accuracy16.744940823714
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.0
(exp.f64 re)
accuracy0.0078125
(*.f64 (exp.f64 re) im)
accuracy14.538226624306642
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
accuracy0.0
(sin.f64 im)
accuracy16.709151249584664
#s(approx (* (exp re) (sin im)) (sin.f64 im))
accuracy0.0
(sin.f64 im)
accuracy0.0
(neg.f64 re)
accuracy0.0
(exp.f64 (neg.f64 re))
accuracy0.01171875
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
Samples
29.0ms189×0valid
20.0ms67×0exit
Compiler

Compiled 80 to 18 computations (77.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-exp: 14.0ms (38.6% of total)
ival-sin: 9.0ms (24.8% of total)
ival-mult: 6.0ms (16.5% of total)
ival-add: 4.0ms (11% of total)
ival-div: 1.0ms (2.8% of total)
ival-neg: 1.0ms (2.8% 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)

series10.0ms (0.2%)

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

6 calls:

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

simplify212.0ms (3.2%)

Memory
-17.8MiB live, 171.9MiB allocated; 61ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150452
1555405
22131371
08460322
Stop Event
iter limit
node limit
Counts
43 → 41
Calls
Call 1
Inputs
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (- (* -1 (* re (+ (* -1 (sin im)) (* 1/2 (sin im))))) (* -1 (sin im)))))
(+ (sin im) (* re (- (* re (- (* -1 (* re (+ (sin im) (+ (* -1 (sin im)) (* -1/6 (sin im)))))) (+ (* -1 (sin im)) (* 1/2 (sin im))))) (* -1 (sin im)))))
1
(+ 1 (* -1 re))
(+ 1 (* re (- (* 1/2 re) 1)))
(+ 1 (* re (- (* re (+ 1/2 (* -1/6 re))) 1)))
(* -1 re)
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
im
(+ im (* im re))
(+ im (* re (+ im (* 1/2 (* im re)))))
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
(+ 1 (* 1/2 re))
(/ (sin im) (exp (neg re)))
(exp (neg re))
(* (exp re) (sin im))
(* im (exp re))
(exp re)
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)))
(/ (sin im) (exp (* -1 re)))
(exp (* -1 re))
(/ im (exp (neg re)))
(* im (+ (* -1/6 (/ (pow im 2) (exp (neg re)))) (/ 1 (exp (neg re)))))
(* im (+ (* (pow im 2) (- (* 1/120 (/ (pow im 2) (exp (neg re)))) (* 1/6 (/ 1 (exp (neg re)))))) (/ 1 (exp (neg re)))))
(* im (+ (* (pow im 2) (- (* (pow im 2) (+ (* -1/5040 (/ (pow im 2) (exp (neg re)))) (* 1/120 (/ 1 (exp (neg re)))))) (* 1/6 (/ 1 (exp (neg re)))))) (/ 1 (exp (neg re)))))
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
Outputs
(sin im)
(sin.f64 im)
(+ (sin im) (* re (sin im)))
(fma.f64 (sin.f64 im) re (sin.f64 im))
(+ (sin im) (* re (- (* -1 (* re (+ (* -1 (sin im)) (* 1/2 (sin im))))) (* -1 (sin im)))))
(*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (sin im) (* re (- (* re (- (* -1 (* re (+ (sin im) (+ (* -1 (sin im)) (* -1/6 (sin im)))))) (+ (* -1 (sin im)) (* 1/2 (sin im))))) (* -1 (sin im)))))
(fma.f64 (*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (sin.f64 im))
1
#s(literal 1 binary64)
(+ 1 (* -1 re))
(-.f64 #s(literal 1 binary64) re)
(+ 1 (* re (- (* 1/2 re) 1)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)) re #s(literal 1 binary64))
(+ 1 (* re (- (* re (+ 1/2 (* -1/6 re))) 1)))
(fma.f64 (fma.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 re)
(neg.f64 re)
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
(fma.f64 (*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (sin.f64 im))
im
(+ im (* im re))
(fma.f64 re im im)
(+ im (* re (+ im (* 1/2 (* im re)))))
(fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)
(+ 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))
(/ (sin im) (exp (neg re)))
(*.f64 (sin.f64 im) (exp.f64 re))
(exp (neg re))
(exp.f64 (neg.f64 re))
(* (exp re) (sin im))
(*.f64 (sin.f64 im) (exp.f64 re))
(* im (exp re))
(*.f64 (exp.f64 re) im)
(exp re)
(exp.f64 re)
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))
(/ (sin im) (exp (* -1 re)))
(*.f64 (sin.f64 im) (exp.f64 re))
(exp (* -1 re))
(exp.f64 (neg.f64 re))
(/ im (exp (neg re)))
(*.f64 (exp.f64 re) im)
(* im (+ (* -1/6 (/ (pow im 2) (exp (neg re)))) (/ 1 (exp (neg re)))))
(*.f64 (exp.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(* im (+ (* (pow im 2) (- (* 1/120 (/ (pow im 2) (exp (neg re)))) (* 1/6 (/ 1 (exp (neg re)))))) (/ 1 (exp (neg re)))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (exp.f64 re)) (*.f64 (exp.f64 re) im))
(* im (+ (* (pow im 2) (- (* (pow im 2) (+ (* -1/5040 (/ (pow im 2) (exp (neg re)))) (* 1/120 (/ 1 (exp (neg re)))))) (* 1/6 (/ 1 (exp (neg re)))))) (/ 1 (exp (neg re)))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re))) im)
(* im (+ 1 (* -1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im)
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(*.f64 (exp.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (exp.f64 re)) (*.f64 (exp.f64 re) im))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re))) im)

rewrite49.0ms (0.7%)

Memory
-6.5MiB live, 37.5MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02289
03689
19289
055289
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
15 → 86
Calls
Call 1
Inputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(sin.f64 im)
(exp.f64 (neg.f64 re))
(neg.f64 re)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 (exp.f64 re) im)
(exp.f64 re)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.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))
Outputs
(*.f64 (/.f64 (sin.f64 im) #s(literal 1 binary64)) (exp.f64 re))
(/.f64 (neg.f64 (neg.f64 (sin.f64 im))) (neg.f64 (/.f64 #s(literal -1 binary64) (exp.f64 re))))
(/.f64 (neg.f64 (sin.f64 im)) (/.f64 #s(literal -1 binary64) (exp.f64 re)))
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 im)) (exp.f64 (neg.f64 re))))
(neg.f64 (/.f64 (sin.f64 im) (/.f64 #s(literal -1 binary64) (exp.f64 re))))
(sin.f64 im)
(*.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 re)))
(pow.f64 (exp.f64 re) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 (neg.f64 re)) (sinh.f64 (neg.f64 re)))) (-.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re))))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (exp.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) (fma.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 (neg.f64 re)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 (neg.f64 re)) (sinh.f64 (neg.f64 re))) (*.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 re)))
(/.f64 #s(literal 1 binary64) (exp.f64 re))
(-.f64 (cosh.f64 re) (sinh.f64 re))
(exp.f64 (-.f64 #s(literal 0 binary64) re))
(exp.f64 (neg.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re)))
(+.f64 (sinh.f64 (neg.f64 re)) (cosh.f64 re))
(neg.f64 re)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 (exp.f64 re) im)
(*.f64 im (exp.f64 re))
(fma.f64 (cosh.f64 re) im (*.f64 (sinh.f64 re) im))
(fma.f64 im (cosh.f64 re) (*.f64 im (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) im) (*.f64 (sinh.f64 re) im))
(+.f64 (*.f64 im (cosh.f64 re)) (*.f64 im (sinh.f64 re)))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (exp.f64 (neg.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))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
(*.f64 (sin.f64 im) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re))) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 (sin.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 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 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.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 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.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))

eval19.0ms (0.3%)

Memory
-3.7MiB live, 40.1MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 252 to 459 computations (79.6% saved)

prune19.0ms (0.3%)

Memory
-9.4MiB live, 49.4MiB allocated; 12ms collecting garbage
Pruning

18 alts after pruning (13 fresh and 5 done)

PrunedKeptTotal
New12212134
Fresh112
Picked145
Done011
Total12418142
Accuracy
100.0%
Counts
142 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.2%
(/.f64 (sin.f64 im) #s(approx (exp (neg 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))))
56.3%
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
100.0%
(*.f64 (exp.f64 re) (sin.f64 im))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.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))) (sin.f64 im))
49.1%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
31.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
18.5%
(*.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))) (sin.f64 im))
18.7%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
70.6%
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
40.5%
#s(approx (* (exp re) (sin 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))) im))
37.8%
#s(approx (* (exp re) (sin 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))) im))
29.9%
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
48.4%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
34.2%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
37.6%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
29.9%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
Compiler

Compiled 501 to 364 computations (27.3% saved)

simplify146.0ms (2.2%)

Memory
49.0MiB live, 283.5MiB allocated; 25ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) 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)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
cost-diff0
(pow.f64 im #s(literal 3 binary64))
cost-diff0
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
cost-diff0
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
cost-diff0
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
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))) im)
cost-diff0
#s(approx (* (exp re) (sin 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))) im))
cost-diff0
(fma.f64 re im im)
cost-diff0
#s(approx (* (exp re) im) (fma.f64 re im im))
cost-diff0
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im 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))) (sin.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032226
053226
183226
2175226
3546226
42037226
56836226
08017226
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))) (sin.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)
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) im) (fma.f64 re im im))
(fma.f64 re im im)
re
im
#s(approx (* (exp re) (sin 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))) 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))) 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)
im
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
#s(literal -1/6 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
#s(literal -1/6 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))) (sin.f64 im))
(*.f64 (sin.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)
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 im re im)))
#s(approx (* (exp re) im) (fma.f64 re im im))
#s(approx (* (exp re) im) (fma.f64 im re im))
(fma.f64 re im im)
(fma.f64 im re im)
re
im
#s(approx (* (exp re) (sin 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))) 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))) 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)
im
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
#s(literal -1/6 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) 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
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(pow.f64 im #s(literal 3 binary64))
im
#s(literal 3 binary64)
#s(literal -1/6 binary64)

localize163.0ms (2.4%)

Memory
-14.3MiB live, 209.6MiB allocated; 44ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.01953125
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
accuracy0.09375
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
accuracy30.644241047287657
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
accuracy32.50195283973297
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.0
(pow.f64 im #s(literal 3 binary64))
accuracy0.09375
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
accuracy30.644241047287657
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
accuracy33.008990522224515
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
accuracy0.0
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
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))) im)
accuracy18.788179833601166
#s(approx (* (exp re) (sin 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))) im))
accuracy23.32829396991787
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
accuracy0.0
(fma.f64 re im im)
accuracy18.788179833601166
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
accuracy28.421780456625218
#s(approx (* (exp re) im) (fma.f64 re im im))
accuracy0.03125
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
accuracy0.0546875
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
accuracy0.19140625
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
Samples
115.0ms256×0valid
Compiler

Compiled 135 to 29 computations (78.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 90.0ms
ival-add: 29.0ms (32.2% of total)
ival-mult: 27.0ms (30% of total)
ival-exp: 11.0ms (12.2% of total)
ival-sin: 9.0ms (10% of total)
const: 9.0ms (10% of total)
ival-pow: 4.0ms (4.4% of total)
exact: 1.0ms (1.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series10.0ms (0.1%)

Memory
21.8MiB live, 21.8MiB allocated; 0ms collecting garbage
Counts
20 → 52
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))) (sin.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) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) im) (fma.f64 re im im))
(fma.f64 re im im)
#s(approx (* (exp re) (sin 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))) 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))) 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))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(pow.f64 im #s(literal 3 binary64))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
Outputs
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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))))
im
(+ im (* im re))
(+ im (* re (+ im (* 1/2 (* im re)))))
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
1/2
(+ 1/2 (* 1/6 re))
(* (exp re) (sin im))
(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)))))
(* im (exp re))
(* im re)
(* re (+ im (/ im re)))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
re
(* re (+ 1 (/ 1 re)))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* 1/2 re)
(* re (+ 1/2 (/ 1 re)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(* im (+ 1 re))
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(pow im 3)
(* -1/6 (pow im 3))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(* -1 (* im (- (* -1 re) 1)))
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
Calls

6 calls:

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

simplify209.0ms (3.1%)

Memory
-21.3MiB live, 193.3MiB allocated; 50ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0146443
1546420
22058408
37868408
08043360
Stop Event
iter limit
node limit
Counts
52 → 50
Calls
Call 1
Inputs
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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))))
im
(+ im (* im re))
(+ im (* re (+ im (* 1/2 (* im re)))))
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
1/2
(+ 1/2 (* 1/6 re))
(* (exp re) (sin im))
(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)))))
(* im (exp re))
(* im re)
(* re (+ im (/ im re)))
(* 1/2 (pow re 2))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
re
(* re (+ 1 (/ 1 re)))
(* 1/6 re)
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* 1/2 re)
(* re (+ 1/2 (/ 1 re)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(* im (+ 1 re))
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(pow im 3)
(* -1/6 (pow im 3))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(* -1 (* im (- (* -1 re) 1)))
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
Outputs
(sin im)
(sin.f64 im)
(+ (sin im) (* re (sin im)))
(fma.f64 (sin.f64 im) re (sin.f64 im))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
(fma.f64 (*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (sin.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))
im
(+ im (* im re))
(fma.f64 im re im)
(+ im (* re (+ im (* 1/2 (* im re)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im) re im)
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)
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))
(* (exp re) (sin im))
(*.f64 (sin.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))
(* im (exp re))
(*.f64 im (exp.f64 re))
(* im re)
(*.f64 im re)
(* re (+ im (/ im re)))
(fma.f64 im re im)
(* 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))
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/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 (* (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 (neg.f64 (-.f64 (/.f64 (/.f64 (-.f64 re #s(literal -1 binary64)) re) re) #s(literal -1/2 binary64))) re) #s(literal 1/6 binary64)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(fma.f64 im re im)
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(*.f64 (exp.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (exp.f64 re)) (*.f64 im (exp.f64 re)))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (exp.f64 re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re))) im)
(* im (+ 1 re))
(fma.f64 im re im)
(* im (+ 1 (* -1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) im)
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64))) im)
(pow im 3)
(pow.f64 im #s(literal 3 binary64))
(* -1/6 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* im (- (* -1 re) 1)))
(fma.f64 im re im)
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 im im))))

rewrite94.0ms (1.4%)

Memory
-5.3MiB live, 93.6MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032187
053187
1178187
01248187
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
20 → 159
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))) (sin.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) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) im) (fma.f64 re im im))
(fma.f64 re im im)
#s(approx (* (exp re) (sin 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))) 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))) 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))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(pow.f64 im #s(literal 3 binary64))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
Outputs
(*.f64 (sin.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))) (sin.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 im re im)))
#s(approx (* (exp re) im) (fma.f64 im re im))
(*.f64 (-.f64 re #s(literal -1 binary64)) im)
(*.f64 im (-.f64 re #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) im) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 im (*.f64 im re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 im re) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 im re) im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 im re)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 im re) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 im re) im))
(/.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 im re) im))))
(/.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 im re)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))
(fma.f64 im re im)
(fma.f64 re im im)
(-.f64 (/.f64 (pow.f64 (*.f64 im re) #s(literal 2 binary64)) (-.f64 (*.f64 im re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 im re) im)))
(-.f64 im (*.f64 (neg.f64 im) re))
(-.f64 im (*.f64 (neg.f64 re) im))
(+.f64 (/.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 im re)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 im re)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(+.f64 (*.f64 im re) im)
(+.f64 im (*.f64 im re))
#s(approx (* (exp re) (sin 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))) 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))) im)
(*.f64 im #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64))) (-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 3/2 binary64)) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) (*.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal -1/6 binary64)) im)
(fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(fma.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im)
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(-.f64 im (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(-.f64 im (*.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64))) #s(literal -1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)
(+.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 3/2 binary64))) (neg.f64 (pow.f64 im #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 im #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 im #s(literal 3/2 binary64))))
(*.f64 (pow.f64 im #s(literal 3/2 binary64)) (pow.f64 im #s(literal 3/2 binary64)))
(*.f64 (*.f64 im im) im)
(*.f64 im (*.f64 im im))
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 3 binary64))
(pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 3/2 binary64))
(pow.f64 im #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 im) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 3 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(*.f64 #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re))) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/36 binary64) (*.f64 re re))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (*.f64 re #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 re re) (-.f64 #s(literal 1/4 binary64) (*.f64 re #s(literal 1/12 binary64)))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.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 (*.f64 #s(literal 1/216 binary64) (pow.f64 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 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 re re))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (*.f64 #s(literal 1/2 binary64) re))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (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 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.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))

eval55.0ms (0.8%)

Memory
-18.0MiB live, 70.3MiB allocated; 15ms collecting garbage
Compiler

Compiled 5 619 to 984 computations (82.5% saved)

prune41.0ms (0.6%)

Memory
29.0MiB live, 73.7MiB allocated; 4ms collecting garbage
Pruning

29 alts after pruning (21 fresh and 8 done)

PrunedKeptTotal
New22514239
Fresh178
Picked235
Done055
Total22829257
Accuracy
100.0%
Counts
257 → 29
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.2%
(/.f64 (sin.f64 im) #s(approx (exp (neg 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))))
56.3%
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
100.0%
(*.f64 (exp.f64 re) (sin.f64 im))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.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))) (sin.f64 im))
49.1%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
31.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
31.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
16.1%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
22.8%
(*.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))) (sin.f64 im))
23.1%
(*.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))) (sin.f64 im))
18.5%
(*.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))) (sin.f64 im))
18.7%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
70.6%
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
40.5%
#s(approx (* (exp re) (sin 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))) im))
37.8%
#s(approx (* (exp re) (sin 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))) im))
15.0%
#s(approx (* (exp re) (sin im)) (*.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))) im))
15.1%
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
48.4%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
34.2%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
37.6%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
29.9%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
37.6%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
29.9%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
7.2%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
Compiler

Compiled 980 to 691 computations (29.5% saved)

simplify178.0ms (2.7%)

Memory
-18.6MiB live, 270.2MiB allocated; 31ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
049387
076387
1129373
2290373
3822373
42329373
08225351
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
#s(literal 1/36 binary64)
(*.f64 re re)
re
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/6 binary64) re)
#s(literal 1/6 binary64)
#s(literal 1/2 binary64)
(/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
#s(literal 1/4 binary64)
#s(literal 1 binary64)
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
#s(approx (+ (* re im) im) (*.f64 im re))
(*.f64 im re)
im
re
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im))
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(*.f64 (*.f64 im im) im)
(*.f64 im im)
im
#s(literal -1/6 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
#s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
#s(literal -1/6 binary64)
(*.f64 im im)
im
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal 1/2 binary64)
(sin.f64 im)
im
Outputs
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 (sin.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re) (/.f64 #s(literal 1/4 binary64) (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 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re) (/.f64 #s(literal 1/4 binary64) (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 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re) (/.f64 #s(literal 1/4 binary64) (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 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64)))) re #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re) (/.f64 #s(literal 1/4 binary64) (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))))
(/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 re (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))) #s(literal 1/36 binary64)) re)
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1/36 binary64))
#s(literal 1/36 binary64)
(*.f64 re re)
re
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))
(*.f64 #s(literal 1/6 binary64) re)
#s(literal 1/6 binary64)
#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/4 binary64) (fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64)))
#s(literal 1/4 binary64)
#s(literal 1 binary64)
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
#s(approx (+ (* re im) im) (*.f64 im re))
(*.f64 im re)
im
re
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
#s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(*.f64 (*.f64 im im) im)
(pow.f64 im #s(literal 3 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)) #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 (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
#s(literal -1/6 binary64)
(*.f64 im im)
im
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))) (sin.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) re)
(*.f64 re re)
re
#s(literal 1/2 binary64)
(sin.f64 im)
im

localize213.0ms (3.2%)

Memory
-6.5MiB live, 165.4MiB allocated; 60ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 im)
accuracy0.01953125
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
accuracy23.32829396991787
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))
accuracy30.1944244573165
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
accuracy0.04296875
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
accuracy0.15234375
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
accuracy30.644241047287657
#s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))
accuracy32.50195283973297
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
accuracy0.05078125
(*.f64 (*.f64 im im) im)
accuracy0.09375
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
accuracy30.644241047287657
#s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im))
accuracy33.008990522224515
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
accuracy0.0
(*.f64 im re)
accuracy18.788179833601166
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
accuracy28.421780456625218
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
accuracy30.099596656873434
#s(approx (+ (* re im) im) (*.f64 im re))
accuracy0.3671875
(*.f64 #s(literal 1/6 binary64) re)
accuracy0.42371087396210083
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
accuracy16.147849007032725
(/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
accuracy20.451358876159716
#s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
Samples
186.0ms256×0valid
Compiler

Compiled 228 to 41 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 165.0ms
ival-mult: 109.0ms (66% of total)
ival-sin: 28.0ms (16.9% of total)
ival-add: 10.0ms (6.1% of total)
const: 10.0ms (6.1% of total)
ival-div: 3.0ms (1.8% of total)
ival-sub: 3.0ms (1.8% of total)
ival-exp: 2.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)
exact: 0.0ms (0% of total)

series24.0ms (0.4%)

Memory
-9.8MiB live, 34.6MiB allocated; 13ms collecting garbage
Counts
26 → 57
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
#s(approx (+ (* re im) im) (*.f64 im re))
(*.f64 im re)
(*.f64 (*.f64 im im) im)
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im))
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
(*.f64 #s(literal 1/6 binary64) re)
#s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
(sin.f64 im)
Outputs
-1/2
(- (* 1/6 re) 1/2)
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
im
(+ im (* im re))
(+ im (* re (+ im (* 1/2 (* im re)))))
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(* im re)
(* 1/2 (pow re 2))
(* -1/18 (pow re 2))
(* (pow re 2) (- (* -1/54 re) 1/18))
(* (pow re 2) (- (* re (- (* -1/162 re) 1/54)) 1/18))
(* (pow re 2) (- (* re (- (* re (- (* -1/486 re) 1/162)) 1/54)) 1/18))
(* 1/36 (pow re 2))
(* 1/6 re)
(* re (- 1/6 (* 1/2 (/ 1 re))))
(* (exp re) (sin im))
(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))))))
(* im (exp re))
(* re (+ im (/ im re)))
re
(* re (+ 1 (/ 1 re)))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 3/2 (pow re 2)))))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (* 9/2 (/ 1 (pow re 3))) (/ 3/2 (pow re 2))))))
(* -1 (* re (- (* 1/2 (/ 1 re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(* -1 (* re (- (* -1 (/ (+ 1/2 (* 3/2 (/ 1 re))) re)) 1/6)))
(* -1 (* re (- (* -1 (/ (+ 1/2 (+ (* 3/2 (/ 1 re)) (/ 9/2 (pow re 2)))) re)) 1/6)))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(* im (+ 1 re))
(pow im 3)
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(* -1/6 (pow im 2))
(* -1/6 (pow im 3))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(* -1 (* im (- (* -1 re) 1)))
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
Calls

6 calls:

TimeVariablePointExpression
10.0ms
re
@inf
((- (* 1/6 re) 1/2) (* (exp re) (sin im)) (exp re) (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 1/6 re) 1/2))) re) 1) re) 1) (* (exp re) (sin im)) (* (exp re) im) (+ (* re im) im) (* im re) (* (* im im) im) (* (exp re) (sin im)) (sin im) (+ (* (* (* im im) im) -1/6) im) (+ (* (* -1/6 (* im im)) im) im) (* (exp re) (sin im)) (exp re) (+ 1 re) (* (exp re) (sin im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (* (* re re) 1/2) (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (* 1/36 (* re re)) (* 1/6 re) (sin im) (* -1/6 (* im im)) (sin im))
5.0ms
im
@-inf
((- (* 1/6 re) 1/2) (* (exp re) (sin im)) (exp re) (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 1/6 re) 1/2))) re) 1) re) 1) (* (exp re) (sin im)) (* (exp re) im) (+ (* re im) im) (* im re) (* (* im im) im) (* (exp re) (sin im)) (sin im) (+ (* (* (* im im) im) -1/6) im) (+ (* (* -1/6 (* im im)) im) im) (* (exp re) (sin im)) (exp re) (+ 1 re) (* (exp re) (sin im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (* (* re re) 1/2) (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (* 1/36 (* re re)) (* 1/6 re) (sin im) (* -1/6 (* im im)) (sin im))
3.0ms
re
@-inf
((- (* 1/6 re) 1/2) (* (exp re) (sin im)) (exp re) (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 1/6 re) 1/2))) re) 1) re) 1) (* (exp re) (sin im)) (* (exp re) im) (+ (* re im) im) (* im re) (* (* im im) im) (* (exp re) (sin im)) (sin im) (+ (* (* (* im im) im) -1/6) im) (+ (* (* -1/6 (* im im)) im) im) (* (exp re) (sin im)) (exp re) (+ 1 re) (* (exp re) (sin im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (* (* re re) 1/2) (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (* 1/36 (* re re)) (* 1/6 re) (sin im) (* -1/6 (* im im)) (sin im))
2.0ms
im
@inf
((- (* 1/6 re) 1/2) (* (exp re) (sin im)) (exp re) (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 1/6 re) 1/2))) re) 1) re) 1) (* (exp re) (sin im)) (* (exp re) im) (+ (* re im) im) (* im re) (* (* im im) im) (* (exp re) (sin im)) (sin im) (+ (* (* (* im im) im) -1/6) im) (+ (* (* -1/6 (* im im)) im) im) (* (exp re) (sin im)) (exp re) (+ 1 re) (* (exp re) (sin im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (* (* re re) 1/2) (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (* 1/36 (* re re)) (* 1/6 re) (sin im) (* -1/6 (* im im)) (sin im))
2.0ms
re
@0
((- (* 1/6 re) 1/2) (* (exp re) (sin im)) (exp re) (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 1/6 re) 1/2))) re) 1) re) 1) (* (exp re) (sin im)) (* (exp re) im) (+ (* re im) im) (* im re) (* (* im im) im) (* (exp re) (sin im)) (sin im) (+ (* (* (* im im) im) -1/6) im) (+ (* (* -1/6 (* im im)) im) im) (* (exp re) (sin im)) (exp re) (+ 1 re) (* (exp re) (sin im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (* (* re re) 1/2) (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (* 1/36 (* re re)) (* 1/6 re) (sin im) (* -1/6 (* im im)) (sin im))

simplify185.0ms (2.8%)

Memory
17.8MiB live, 208.4MiB allocated; 36ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0200531
1656504
22373485
08249441
Stop Event
iter limit
node limit
Counts
57 → 55
Calls
Call 1
Inputs
-1/2
(- (* 1/6 re) 1/2)
(sin im)
(+ (sin im) (* re (sin im)))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
1
(+ 1 re)
(+ 1 (* re (+ 1 (* 1/2 re))))
(+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))
im
(+ im (* im re))
(+ im (* re (+ im (* 1/2 (* im re)))))
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(* im re)
(* 1/2 (pow re 2))
(* -1/18 (pow re 2))
(* (pow re 2) (- (* -1/54 re) 1/18))
(* (pow re 2) (- (* re (- (* -1/162 re) 1/54)) 1/18))
(* (pow re 2) (- (* re (- (* re (- (* -1/486 re) 1/162)) 1/54)) 1/18))
(* 1/36 (pow re 2))
(* 1/6 re)
(* re (- 1/6 (* 1/2 (/ 1 re))))
(* (exp re) (sin im))
(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))))))
(* im (exp re))
(* re (+ im (/ im re)))
re
(* re (+ 1 (/ 1 re)))
(* (pow re 2) (+ 1/2 (/ 1 re)))
(* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 3/2 (pow re 2)))))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (* 9/2 (/ 1 (pow re 3))) (/ 3/2 (pow re 2))))))
(* -1 (* re (- (* 1/2 (/ 1 re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (/ 1 re)) re)) 1/6)))
(* -1 (* (pow re 3) (- (* -1 (/ (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))) re)) 1/6)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(* -1 (* re (- (* -1 (/ (+ 1/2 (* 3/2 (/ 1 re))) re)) 1/6)))
(* -1 (* re (- (* -1 (/ (+ 1/2 (+ (* 3/2 (/ 1 re)) (/ 9/2 (pow re 2)))) re)) 1/6)))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(* im (+ 1 re))
(pow im 3)
(* im (+ 1 (* -1/6 (pow im 2))))
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(* -1/6 (pow im 2))
(* -1/6 (pow im 3))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(* -1 (* im (- (* -1 re) 1)))
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
Outputs
-1/2
#s(literal -1/2 binary64)
(- (* 1/6 re) 1/2)
(fma.f64 #s(literal 1/6 binary64) re #s(literal -1/2 binary64))
(sin im)
(sin.f64 im)
(+ (sin im) (* re (sin im)))
(fma.f64 (sin.f64 im) re (sin.f64 im))
(+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))
(*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))
(fma.f64 (*.f64 (sin.f64 im) (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re (sin.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))
im
(+ im (* im re))
(fma.f64 im re im)
(+ im (* re (+ im (* 1/2 (* im re)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im) re im)
(+ im (* re (+ im (* re (+ (* 1/6 (* im re)) (* 1/2 im))))))
(fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)
(* im re)
(*.f64 im re)
(* 1/2 (pow re 2))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(* -1/18 (pow re 2))
(*.f64 #s(literal -1/18 binary64) (*.f64 re re))
(* (pow re 2) (- (* -1/54 re) 1/18))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/54 binary64) re) #s(literal 1/18 binary64)) re) re)
(* (pow re 2) (- (* re (- (* -1/162 re) 1/54)) 1/18))
(*.f64 (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/162 binary64) re) #s(literal 1/54 binary64)) re) #s(literal 1/18 binary64)) re) re)
(* (pow re 2) (- (* re (- (* re (- (* -1/486 re) 1/162)) 1/54)) 1/18))
(*.f64 (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/486 binary64) re) #s(literal 1/162 binary64)) re) #s(literal 1/54 binary64)) re) #s(literal 1/18 binary64)) re) re)
(* 1/36 (pow re 2))
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
(* 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))
(* (exp re) (sin im))
(*.f64 (sin.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))
(* im (exp re))
(*.f64 im (exp.f64 re))
(* re (+ im (/ im re)))
(fma.f64 im re im)
re
(* re (+ 1 (/ 1 re)))
(-.f64 re #s(literal -1 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))
(* re (+ 1/6 (* 1/2 (/ 1 re))))
(fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (/ 3/2 (pow re 2)))))
(fma.f64 #s(literal 1/6 binary64) re (-.f64 (/.f64 #s(literal 3/2 binary64) re) #s(literal -1/2 binary64)))
(* re (+ 1/6 (+ (* 1/2 (/ 1 re)) (+ (* 9/2 (/ 1 (pow re 3))) (/ 3/2 (pow re 2))))))
(fma.f64 (+.f64 #s(literal 1/6 binary64) (/.f64 (+.f64 (/.f64 #s(literal 9/2 binary64) re) #s(literal 3/2 binary64)) (*.f64 re re))) re #s(literal 1/2 binary64))
(* -1 (* re (- (* 1/2 (/ 1 re)) 1/6)))
(*.f64 (neg.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) re) #s(literal 1/6 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 (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)))
(* -1 (* re (+ (* -1 im) (* -1 (/ im re)))))
(fma.f64 im re im)
(* -1 (* re (- (* -1 (/ (+ 1/2 (* 3/2 (/ 1 re))) re)) 1/6)))
(*.f64 (neg.f64 re) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -3/2 binary64) re) #s(literal 1/2 binary64)) re) #s(literal 1/6 binary64)))
(* -1 (* re (- (* -1 (/ (+ 1/2 (+ (* 3/2 (/ 1 re)) (/ 9/2 (pow re 2)))) re)) 1/6)))
(*.f64 (neg.f64 re) (-.f64 (/.f64 (neg.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 9/2 binary64) re) #s(literal 3/2 binary64)) re) #s(literal -1/2 binary64))) re) #s(literal 1/6 binary64)))
(* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))
(*.f64 (exp.f64 re) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (exp.f64 re) (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im (exp.f64 re)))
(* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (exp.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re))) im)
(* im (+ 1 re))
(fma.f64 im re im)
(pow im 3)
(pow.f64 im #s(literal 3 binary64))
(* im (+ 1 (* -1/6 (pow im 2))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))
(fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)) im)
(* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))
(fma.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/6 binary64))) (pow.f64 im #s(literal 3 binary64)) im)
(* -1/6 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/6 binary64))
(* -1/6 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* (pow im 3) (- (/ 1 (pow im 2)) 1/6))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* im (- (* -1 re) 1)))
(fma.f64 im re im)
(* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 im im))))

rewrite241.0ms (3.6%)

Memory
13.1MiB live, 241.2MiB allocated; 36ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049307
076275
1257251
21780251
08681239
Stop Event
iter limit
node limit
iter limit
Counts
26 → 275
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
#s(approx (+ (* re im) im) (*.f64 im re))
(*.f64 im re)
(*.f64 (*.f64 im im) im)
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im))
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
(+.f64 #s(literal 1 binary64) re)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
(*.f64 #s(literal 1/6 binary64) re)
#s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
(sin.f64 im)
Outputs
(*.f64 (/.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(*.f64 (/.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (neg.f64 (neg.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (neg.f64 (neg.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (*.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) #s(literal 1/8 binary64))) (pow.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (neg.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))))
(/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (neg.f64 re)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (neg.f64 re) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (neg.f64 re)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (neg.f64 re) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 #s(literal 1/6 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 #s(literal 1/6 binary64) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/6 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 re (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/6 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 re (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 re (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 re (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (neg.f64 re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 (neg.f64 re) #s(literal 1/36 binary64)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (neg.f64 re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 (neg.f64 re) #s(literal 1/36 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 re re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 #s(literal 1/36 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 re re) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 #s(literal 1/36 binary64) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/36 binary64) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 re re) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/36 binary64) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 re #s(literal 1/6 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 re #s(literal 1/6 binary64)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 re #s(literal 1/6 binary64)) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 re #s(literal 1/6 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 re (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 re #s(literal 1/6 binary64))) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 re (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 #s(literal 1/36 binary64) re) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 re (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 re #s(literal 1/6 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 re (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 #s(literal 1/36 binary64) re) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)))) (/.f64 (*.f64 re (*.f64 re #s(literal 1/6 binary64))) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64)))) (/.f64 (*.f64 re (*.f64 re #s(literal 1/6 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(-.f64 (/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(-.f64 (/.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64)))))
(-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))) (/.f64 #s(literal -1/4 binary64) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64))))
(*.f64 (sin.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (-.f64 (*.f64 (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64)) (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64))) (*.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)))) (neg.f64 (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (*.f64 (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)) #s(literal 1 binary64))) (*.f64 (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) re) #s(literal 2 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) #s(literal 2 binary64)))
(/.f64 (fma.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) re) #s(literal 2 binary64) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.f64 (fma.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) #s(literal 2 binary64)))
(/.f64 (fma.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) #s(literal 2 binary64) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.f64 (fma.f64 #s(literal 2 binary64) (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64)) re))) (*.f64 #s(literal 2 binary64) (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (fma.f64 #s(literal 2 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) re))) (*.f64 #s(literal 2 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 #s(literal 2 binary64) (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 re (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)) #s(literal 1 binary64))))) (*.f64 #s(literal 2 binary64) (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal -1 binary64))))
(/.f64 (fma.f64 #s(literal 2 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 re (-.f64 (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))))) (*.f64 #s(literal 2 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re)) (pow.f64 (*.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))) (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))) (/.f64 #s(literal -1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (pow.f64 (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))) (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)))))
(+.f64 (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64)) (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)))) (pow.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re)) (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(+.f64 (*.f64 (fma.f64 (fma.f64 re #s(literal 1/6 binary64) #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 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re)))
#s(approx (+ (* re im) im) (*.f64 im re))
(*.f64 im re)
(*.f64 re im)
(sqrt.f64 (pow.f64 (*.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (neg.f64 (*.f64 im re)))
(fabs.f64 (*.f64 im re))
(*.f64 (neg.f64 (pow.f64 im #s(literal 3/2 binary64))) (neg.f64 (pow.f64 im #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 im #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 im #s(literal 3/2 binary64))))
(*.f64 (pow.f64 im #s(literal 3/2 binary64)) (pow.f64 im #s(literal 3/2 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) im))
(*.f64 (*.f64 im im) (neg.f64 im))
(*.f64 (*.f64 im im) im)
(*.f64 im (*.f64 im im))
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 3 binary64))
(pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 3/2 binary64))
(pow.f64 im #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 im) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 3 binary64))))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))) (*.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 im im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im)))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(/.f64 (fma.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))
(/.f64 (-.f64 (*.f64 im im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64))) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) im)) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im) im)
(fma.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im)
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(-.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(-.f64 im (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im))
(-.f64 im (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(-.f64 im (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) #s(literal -1/6 binary64)))
(-.f64 im (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 (neg.f64 (neg.f64 im)) (neg.f64 im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)
(+.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))) (*.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 im im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im)))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(/.f64 (fma.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im))
(/.f64 (-.f64 (*.f64 im im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64))) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) im)) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)
(fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im) im)
(fma.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im)
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(-.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(-.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(-.f64 im (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) im))
(-.f64 im (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(-.f64 im (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) #s(literal -1/6 binary64)))
(-.f64 im (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(-.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 4 binary64)))))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 im #s(literal 9 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64) (*.f64 im (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 (neg.f64 (neg.f64 im)) (neg.f64 im)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)))
(+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))) im)
(+.f64 im (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64))))
(*.f64 #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im)))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) #s(literal 3 binary64))) (fma.f64 (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)) (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 3 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 (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #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 (neg.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64))) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)))) (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) re))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))
(/.f64 (fma.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re))) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 re re (-.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 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))))
(-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re))) (/.f64 #s(literal 1 binary64) (fma.f64 re re (-.f64 #s(literal 1 binary64) re))))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 re re (-.f64 #s(literal 1 binary64) re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) re))))
(+.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(+.f64 (pow.f64 (fma.f64 re (-.f64 re #s(literal 1 binary64)) #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 (pow.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64)) (/.f64 (*.f64 (neg.f64 (neg.f64 re)) (neg.f64 re)) (-.f64 #s(literal 1 binary64) re)))
(+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 #s(literal 1 binary64) re)))
(+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))) (sin.f64 im))
(*.f64 (sin.f64 im) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) re)
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(*.f64 re (*.f64 #s(literal 1/2 binary64) re))
(fabs.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(*.f64 (/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (fma.f64 re #s(literal 1/6 binary64) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64))) (fma.f64 #s(literal -1/36 binary64) (*.f64 re re) (fma.f64 re #s(literal 1/12 binary64) #s(literal 1/4 binary64))))
(*.f64 (*.f64 re (/.f64 re (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)))) #s(literal 1/36 binary64))
(*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64))))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/36 binary64) (*.f64 re (/.f64 re (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (neg.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (neg.f64 (neg.f64 (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (neg.f64 (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64))))
(/.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)))
(neg.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) re) (/.f64 re (-.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (neg.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64)))) (neg.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64)))))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1 binary64)) (pow.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 re #s(literal 1/6 binary64)))
(*.f64 (*.f64 #s(literal 1/36 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) re) #s(literal 1/6 binary64))
(*.f64 (*.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 1/6 binary64)) re)
(*.f64 (neg.f64 (*.f64 #s(literal 1/36 binary64) re)) re)
(*.f64 #s(literal -1/36 binary64) (*.f64 re re))
(*.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) (neg.f64 (*.f64 re #s(literal 1/6 binary64))))
(*.f64 (*.f64 #s(literal 1/36 binary64) re) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/36 binary64) re) re)
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/36 binary64)))
(*.f64 (*.f64 re re) #s(literal -1/36 binary64))
(*.f64 (*.f64 re re) #s(literal 1/36 binary64))
(*.f64 #s(literal 1/36 binary64) (*.f64 re re))
(*.f64 (*.f64 re #s(literal 1/6 binary64)) (*.f64 re #s(literal 1/6 binary64)))
(*.f64 re (*.f64 #s(literal 1/6 binary64) (*.f64 re #s(literal 1/6 binary64))))
(*.f64 re (*.f64 #s(literal 1/36 binary64) re))
(*.f64 #s(literal 1/6 binary64) (*.f64 re (*.f64 re #s(literal 1/6 binary64))))
(pow.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) #s(literal 2 binary64))
(pow.f64 (*.f64 re #s(literal 1/6 binary64)) #s(literal 2 binary64))
(neg.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)))
(fabs.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)))
(exp.f64 (*.f64 (log.f64 (*.f64 re #s(literal 1/6 binary64))) #s(literal 2 binary64)))
(*.f64 re #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) re)
(sqrt.f64 (*.f64 #s(literal -1/36 binary64) (*.f64 re re)))
(fabs.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))))
(fabs.f64 (*.f64 re #s(literal 1/6 binary64)))
#s(approx (sin im) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)) im))
(*.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/6 binary64) im) im)
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/6 binary64))
(*.f64 im (*.f64 #s(literal -1/6 binary64) im))
(sin.f64 im)

eval127.0ms (1.9%)

Memory
-21.3MiB live, 88.1MiB allocated; 10ms collecting garbage
Compiler

Compiled 12 267 to 1 889 computations (84.6% saved)

prune83.0ms (1.2%)

Memory
-29.1MiB live, 61.7MiB allocated; 11ms collecting garbage
Pruning

33 alts after pruning (21 fresh and 12 done)

PrunedKeptTotal
New3219330
Fresh41216
Picked145
Done088
Total32633359
Accuracy
100.0%
Counts
359 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.2%
(/.f64 (sin.f64 im) #s(approx (exp (neg 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))))
56.3%
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
100.0%
(*.f64 (exp.f64 re) (sin.f64 im))
68.0%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
67.8%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) #s(approx (- (* 1/6 re) 1/2) #s(literal -1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
48.1%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 #s(approx (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (*.f64 #s(literal -1/18 binary64) (*.f64 re re))) (/.f64 #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))) (sin.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))) (sin.f64 im))
39.3%
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
30.0%
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
49.1%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
31.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
31.2%
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
22.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.f64 im))
23.1%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.f64 im))
18.5%
(*.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))) (sin.f64 im))
18.7%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
70.6%
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
40.5%
#s(approx (* (exp re) (sin 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))) im))
37.8%
#s(approx (* (exp re) (sin 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))) im))
15.0%
#s(approx (* (exp re) (sin im)) (*.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))) im))
15.1%
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
48.4%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
34.2%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
37.6%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
29.9%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
37.6%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
29.9%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
7.2%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
7.7%
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
29.5%
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
Compiler

Compiled 1 551 to 686 computations (55.8% saved)

regimes77.0ms (1.2%)

Memory
40.4MiB live, 84.4MiB allocated; 8ms collecting garbage
Counts
43 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(/.f64 (sin.f64 im) #s(approx (exp (neg 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 (-.f64 #s(approx (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (*.f64 #s(literal -1/18 binary64) (*.f64 re re))) (/.f64 #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))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) #s(approx (- (* 1/6 re) 1/2) #s(literal -1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 (exp.f64 re) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (fma.f64 (sin.f64 im) re (sin.f64 im)))
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
Outputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
Calls

5 calls:

31.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
12.0ms
im
12.0ms
(sin.f64 im)
11.0ms
re
9.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1(sin.f64 im)
100.0%1(exp.f64 re)
100.0%1(*.f64 (exp.f64 re) (sin.f64 im))
100.0%1re
100.0%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes141.0ms (2.1%)

Memory
-10.4MiB live, 96.4MiB allocated; 22ms collecting garbage
Counts
42 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(/.f64 (sin.f64 im) #s(approx (exp (neg 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 (-.f64 #s(approx (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (*.f64 #s(literal -1/18 binary64) (*.f64 re re))) (/.f64 #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))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) #s(approx (- (* 1/6 re) 1/2) #s(literal -1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 (exp.f64 re) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (fma.f64 (sin.f64 im) re (sin.f64 im)))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Calls

5 calls:

84.0ms
im
22.0ms
(exp.f64 re)
11.0ms
re
11.0ms
(sin.f64 im)
10.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
100.0%1(sin.f64 im)
100.0%1(exp.f64 re)
100.0%1(*.f64 (exp.f64 re) (sin.f64 im))
100.0%1re
100.0%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes112.0ms (1.7%)

Memory
-27.3MiB live, 121.3MiB allocated; 7ms collecting garbage
Counts
40 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(/.f64 (sin.f64 im) #s(approx (exp (neg 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 (-.f64 #s(approx (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (*.f64 #s(literal -1/18 binary64) (*.f64 re re))) (/.f64 #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))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) #s(approx (- (* 1/6 re) 1/2) #s(literal -1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) re) #s(literal 1/2 binary64)))) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 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))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
Calls

5 calls:

38.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
29.0ms
(sin.f64 im)
24.0ms
im
11.0ms
re
8.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
85.0%3(sin.f64 im)
92.8%2(exp.f64 re)
98.5%4(*.f64 (exp.f64 re) (sin.f64 im))
98.4%4re
86.1%3im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes33.0ms (0.5%)

Memory
-6.9MiB live, 38.8MiB allocated; 3ms collecting garbage
Counts
35 → 4
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.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))) (sin.f64 im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* (- (/ (* 1/36 (* re re)) (- (* 1/6 re) 1/2)) (/ 1/4 (- (* 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))) (sin.f64 im))
Outputs
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im))
Calls

2 calls:

23.0ms
re
9.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
98.3%4re
99.1%5(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes18.0ms (0.3%)

Memory
36.7MiB live, 36.7MiB allocated; 0ms collecting garbage
Counts
31 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 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))) (sin.f64 im))
Outputs
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) 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))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
Calls

2 calls:

9.0ms
re
7.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
99.1%5(*.f64 (exp.f64 re) (sin.f64 im))
97.1%4re
Compiler

Compiled 6 to 7 computations (-16.7% saved)

regimes28.0ms (0.4%)

Memory
-25.3MiB live, 18.7MiB allocated; 10ms collecting garbage
Counts
30 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.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))) (sin.f64 im))
Outputs
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re)))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
Calls

1 calls:

26.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
98.9%5(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes8.0ms (0.1%)

Memory
18.4MiB live, 18.4MiB allocated; 0ms collecting garbage
Counts
26 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) #s(approx (+ (* (pow im 3) -1/6) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
Outputs
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
Calls

1 calls:

6.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
98.9%5(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes8.0ms (0.1%)

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

1 calls:

6.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
98.7%5(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes57.0ms (0.8%)

Memory
-10.7MiB live, 34.7MiB allocated; 5ms collecting garbage
Counts
22 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Outputs
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin 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))) im))
Calls

5 calls:

31.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
7.0ms
im
7.0ms
re
6.0ms
(sin.f64 im)
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
58.5%3(sin.f64 im)
58.1%2im
62.4%2(exp.f64 re)
64.2%3re
68.7%3(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes76.0ms (1.1%)

Memory
-13.9MiB live, 38.4MiB allocated; 8ms collecting garbage
Counts
21 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) im) (-.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (*.f64 re re))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
Outputs
(*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin 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))) im))
Calls

5 calls:

52.0ms
im
6.0ms
(sin.f64 im)
6.0ms
re
5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
47.1%2(sin.f64 im)
43.9%3im
40.5%1(exp.f64 re)
40.5%1re
47.1%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes12.0ms (0.2%)

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

2 calls:

6.0ms
(sin.f64 im)
5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
46.0%2(sin.f64 im)
46.1%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 7 to 8 computations (-14.3% saved)

regimes36.0ms (0.5%)

Memory
-21.6MiB live, 20.4MiB allocated; 10ms collecting garbage
Counts
16 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
#s(approx (* (exp re) (sin 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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) (neg.f64 im)) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re im) re im)))
#s(approx (* (exp re) (sin 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))) im))
Outputs
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin 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))) im))
Calls

2 calls:

5.0ms
(sin.f64 im)
5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
44.6%2(sin.f64 im)
44.9%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 7 to 8 computations (-14.3% saved)

regimes15.0ms (0.2%)

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

3 calls:

5.0ms
im
5.0ms
(sin.f64 im)
4.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
37.8%1im
41.9%2(sin.f64 im)
42.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes26.0ms (0.4%)

Memory
-11.7MiB live, 31.7MiB allocated; 6ms collecting garbage
Counts
12 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (fabs.f64 (*.f64 im re)))))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (+.f64 (*.f64 im re) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) im))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 im im) (*.f64 im #s(literal -1/6 binary64)) im)))
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)))
#s(approx (* (exp re) (sin im)) (*.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))) im))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 (fma.f64 (*.f64 re im) #s(literal 1/2 binary64) im) re im)))
Outputs
#s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im)))
#s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im))
Calls

4 calls:

15.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
4.0ms
(sin.f64 im)
4.0ms
re
3.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
38.3%2(sin.f64 im)
37.9%2re
37.8%2(exp.f64 re)
41.8%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes33.0ms (0.5%)

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

5 calls:

24.0ms
(sin.f64 im)
2.0ms
im
2.0ms
re
2.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
37.8%2(exp.f64 re)
37.8%2re
29.9%1(sin.f64 im)
29.9%1im
37.8%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.1%)

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

3 calls:

2.0ms
re
2.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
29.9%1re
29.9%1(exp.f64 re)
29.9%1(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes5.0ms (0.1%)

Memory
13.3MiB live, 13.4MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
Outputs
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
Calls

5 calls:

1.0ms
(sin.f64 im)
1.0ms
re
1.0ms
im
1.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
7.2%1im
7.2%1(sin.f64 im)
7.2%1(exp.f64 re)
7.2%1re
7.2%1(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch1.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6143.93205851959
+inf
0.0ms
1.7750810738247757e-25
2.2651524435110316e-23
0.0ms
-0.04927754944074964
0.0
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch71.0ms (1.1%)

Memory
-26.7MiB live, 82.7MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
1.4969880142331828e+102
1.461019044271864e+106
15.0ms
8.806174993553194
46246036.789926454
30.0ms
-0.029068734859224836
-0.00011817133837513503
Samples
52.0ms384×0valid
Compiler

Compiled 680 to 578 computations (15% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 20.0ms (59.7% of total)
ival-sin: 9.0ms (26.9% of total)
ival-exp: 4.0ms (11.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6143.93205851959
+inf
0.0ms
1.7750810738247757e-25
2.2651524435110316e-23
0.0ms
-0.04927754944074964
0.0
0.0ms
-inf
-0.999931870230855
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6143.93205851959
+inf
0.0ms
1.7750810738247757e-25
2.2651524435110316e-23
0.0ms
-0.04927754944074964
0.0
0.0ms
-inf
-0.999931870230855
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
6143.93205851959
+inf
0.0ms
1.7750810738247757e-25
2.2651524435110316e-23
0.0ms
-0.04927754944074964
0.0
0.0ms
-inf
-0.999931870230855
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
6143.93205851959
+inf
0.0ms
1.7750810738247757e-25
2.2651524435110316e-23
0.0ms
-0.04927754944074964
0.0
0.0ms
-inf
-0.999931870230855
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6143.93205851959
+inf
0.0ms
-inf
-0.999931870230855
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.073243999540184e-242
7.82596621087489e-242
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

simplify54.0ms (0.8%)

Memory
11.9MiB live, 102.4MiB allocated; 8ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0132891
1172849
2264849
3622849
42533849
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)))))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 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))) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 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))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) #s(approx (* (exp re) (sin 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))) im))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 7378697629483821/36893488147419103232 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8962163258467287/9007199254740992 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im))) #s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))
Outputs
(/.f64 (sin.f64 im) (exp.f64 (neg.f64 re)))
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)))))
(if (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (not (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) (not (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)))))) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)))
(if (<=.f64 re #s(literal -5188146770730811/288230376151711744 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 re #s(literal 9 binary64)) (*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (sin.f64 im)) (if (<=.f64 re #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) 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))) (sin.f64 im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 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))) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 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))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (not (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) (not (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 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))) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (/.f64 (sin.f64 im) #s(approx (exp (neg re)) (-.f64 #s(literal 1 binary64) re))) (if (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) (not (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)))) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (not (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) (not (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)))))) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im)) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -5764607523034235/144115188075855872 binary64)) (not (or (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8711228593176025/43556142965880123323311949751266331066368 binary64)) (not (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)))))) #s(approx (* (exp re) (sin im)) (sin.f64 im)) #s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal -inf.0 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) (if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 10000 binary64)) #s(approx (* (exp re) (sin im)) (sin.f64 im)) #s(approx (* (exp re) (sin 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))) im))))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) (*.f64 #s(approx (exp re) (/.f64 (-.f64 (*.f64 re re) #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) (*.f64 #s(approx (exp re) (+.f64 #s(literal 1 binary64) re)) #s(approx (sin im) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 75075168288047/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin 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))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 7378697629483821/36893488147419103232 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (sin im) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64)) im))) #s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im)))
(if (<=.f64 (*.f64 (exp.f64 re) (sin.f64 im)) #s(literal 8962163258467287/9007199254740992 binary64)) #s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im))) #s(approx (* (exp re) (sin im)) (*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) (fma.f64 re im im)))
#s(approx (* (exp re) (sin im)) #s(approx (* (exp re) im) #s(approx (+ (* re im) im) (*.f64 im re))))

derivations1.1s (16.7%)

Memory
-4.0MiB live, 1 008.3MiB allocated; 91ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071192
1274181
21066169
35077163
08552143
049307
076275
1257251
21780251
08681239
059
089
1129
2409
32939
046219
032187
053187
1178187
01248187
0150452
1555405
22131371
08460322
0146443
1546420
22058408
37868408
08043360
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 849 to 132 computations (84.5% saved)

preprocess130.0ms (1.9%)

Memory
-8.9MiB live, 128.7MiB allocated; 11ms collecting garbage
Remove

(negabs im)

Compiler

Compiled 1 732 to 298 computations (82.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...