math.sin on complex, real part

Time bar (total: 8.9s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 14 to 13 computations (7.1% saved)

sample1.5s (16.8%)

Memory
48.2MiB live, 2 210.5MiB allocated; 389ms collecting garbage
Samples
1.1s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 828.0ms
ival-sin: 312.0ms (37.7% of total)
ival-exp: 234.0ms (28.2% of total)
ival-mult: 122.0ms (14.7% of total)
ival-add: 98.0ms (11.8% of total)
ival-sub: 40.0ms (4.8% of total)
exact: 10.0ms (1.2% of total)
ival-true: 6.0ms (0.7% of total)
ival-assert: 4.0ms (0.5% of total)
adjust: 3.0ms (0.4% of total)
Bogosity

explain180.0ms (2%)

Memory
3.0MiB live, 287.1MiB allocated; 32ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
00-0-(exp.f64 im)
00-0-(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
00-0-(sin.f64 re)
00-0-#s(literal 0 binary64)
00-0-im
00-0-(-.f64 #s(literal 0 binary64) im)
00-0-(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
00-0-re
00-0-#s(literal 1/2 binary64)
01(4.594092219358691e-246 -465.46721544179314)0-(exp.f64 (-.f64 #s(literal 0 binary64) im))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (-.f64 #s(literal 0 binary64) im))sensitivity10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-100
Precision?
0.0
Recall?
0/0
Samples
64.0ms512×0valid
Compiler

Compiled 92 to 37 computations (59.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-sin: 15.0ms (33.6% of total)
ival-exp: 12.0ms (26.8% of total)
ival-mult: 11.0ms (24.6% of total)
ival-add: 3.0ms (6.7% of total)
ival-sub: 3.0ms (6.7% of total)
exact: 1.0ms (2.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess293.0ms (3.3%)

Memory
38.4MiB live, 427.2MiB allocated; 100ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02961
110355
243555
3164255
01112
01811
13811
211611
352211
427995
086025
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (cosh.f64 im) (sin.f64 re))
Symmetry

(abs im)

(negabs re)

Compiler

Compiled 12 to 11 computations (8.3% 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.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

simplify286.0ms (3.2%)

Memory
-1.8MiB live, 385.8MiB allocated; 102ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01138
01834
13834
211634
352234
4279928
0860228
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(-.f64 #s(literal 0 binary64) im)
#s(literal 0 binary64)
im
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(exp.f64 (neg.f64 im))
(-.f64 #s(literal 0 binary64) im)
(neg.f64 im)
#s(literal 0 binary64)
im
(exp.f64 im)

localize79.0ms (0.9%)

Memory
-0.6MiB live, 55.0MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
accuracy0.0
(sin.f64 re)
accuracy0.0
(exp.f64 (-.f64 #s(literal 0 binary64) im))
accuracy0.0
(exp.f64 im)
Samples
71.0ms256×0valid
Compiler

Compiled 40 to 13 computations (67.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 63.0ms
ival-sin: 53.0ms (84.3% of total)
ival-exp: 4.0ms (6.4% of total)
ival-mult: 3.0ms (4.8% of total)
ival-add: 1.0ms (1.6% of total)
ival-sub: 1.0ms (1.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
12.7MiB live, 12.7MiB allocated; 0ms collecting garbage
Counts
6 → 30
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(-.f64 #s(literal 0 binary64) im)
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(sin.f64 re)
(exp.f64 im)
(exp.f64 (-.f64 #s(literal 0 binary64) im))
Outputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* 1/2 (sin re))
(sin re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(* -1 im)
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(exp im)
(exp (neg im))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(exp (* -1 im))
Calls

6 calls:

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

simplify141.0ms (1.6%)

Memory
10.5MiB live, 148.7MiB allocated; 11ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0118362
1455330
21902319
08251289
Stop Event
iter limit
node limit
Counts
30 → 29
Calls
Call 1
Inputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* 1/2 (sin re))
(sin re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(* -1 im)
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(exp im)
(exp (neg im))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(exp (* -1 im))
Outputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(*.f64 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/10080 binary64) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 #s(literal 1/2 binary64) re))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64))) re)
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* 1/2 (sin re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(sin re)
(sin.f64 re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(* -1 im)
(neg.f64 im)
1
#s(literal 1 binary64)
(+ 1 im)
(+.f64 #s(literal 1 binary64) im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im) #s(literal 1 binary64)) im #s(literal 1 binary64))
(exp im)
(exp.f64 im)
(exp (neg im))
(exp.f64 (neg.f64 im))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(exp (* -1 im))
(exp.f64 (neg.f64 im))

rewrite343.0ms (3.9%)

Memory
1.0MiB live, 248.1MiB allocated; 75ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01127
01824
16422
248020
0608020
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
6 → 344
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(-.f64 #s(literal 0 binary64) im)
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(sin.f64 re)
(exp.f64 im)
(exp.f64 (-.f64 #s(literal 0 binary64) im))
Outputs
(*.f64 (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (-.f64 (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))
(*.f64 (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 4 binary64)) (pow.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (expm1.f64 (*.f64 #s(literal 2 binary64) im))))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (+.f64 (pow.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 6 binary64)))) (fma.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (-.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 4 binary64))))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 1/2 binary64))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))) (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (neg.f64 (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (neg.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))))) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (neg.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))))) (neg.f64 (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))))
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))) (neg.f64 (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))) (neg.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (exp.f64 im) #s(literal 1/2 binary64))) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (exp.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (/.f64 (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (cosh.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 (cosh.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 (cosh.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 (cosh.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (cosh.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (/.f64 (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 im) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (sin.f64 re) (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 (sin.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 im) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) (/.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (neg.f64 (sin.f64 re)) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 #s(literal -1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64))) (sin.f64 re)))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) (sin.f64 re))) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (sin.f64 re)) (*.f64 (exp.f64 im) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 #s(literal -1/2 binary64) (*.f64 (exp.f64 im) (sin.f64 re))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im)))
(+.f64 (fma.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(+.f64 (*.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(+.f64 (*.f64 (/.f64 (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (/.f64 (exp.f64 (*.f64 #s(literal 3 binary64) (neg.f64 im))) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re)) (exp.f64 im))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(+.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 re))) (exp.f64 im)))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(*.f64 (/.f64 (*.f64 im im) (*.f64 im im)) (neg.f64 im))
(*.f64 (/.f64 (*.f64 im im) (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (*.f64 im im))
(*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 6 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(*.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (*.f64 (neg.f64 im) im))
(*.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 im im))
(*.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (pow.f64 im #s(literal 4 binary64)))
(*.f64 (/.f64 (*.f64 im im) (pow.f64 im #s(literal 3 binary64))) (*.f64 (neg.f64 im) im))
(*.f64 (/.f64 (*.f64 im im) (*.f64 (neg.f64 im) im)) im)
(*.f64 (/.f64 (*.f64 (neg.f64 im) im) (pow.f64 im #s(literal 3 binary64))) (*.f64 im im))
(*.f64 (/.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 im) im)) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (*.f64 im im))
(*.f64 (/.f64 (*.f64 im im) (fabs.f64 im)) (/.f64 (neg.f64 im) (fabs.f64 im)))
(*.f64 (*.f64 im im) (/.f64 (neg.f64 im) (*.f64 im im)))
(*.f64 (neg.f64 im) (/.f64 (neg.f64 im) (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) im))
(/.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fabs.f64 im)) (fabs.f64 im))
(/.f64 (neg.f64 (pow.f64 im #s(literal 6 binary64))) (*.f64 (pow.f64 im #s(literal 4 binary64)) im))
(/.f64 (neg.f64 (pow.f64 im #s(literal 6 binary64))) (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 im im) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 #s(literal 2 binary64) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 im) im))) (*.f64 #s(literal 2 binary64) (neg.f64 im)))
(/.f64 (neg.f64 (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 3 binary64)))
(/.f64 (neg.f64 (pow.f64 im #s(literal 9 binary64))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (*.f64 im im)))
(/.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (neg.f64 im) im))
(/.f64 (*.f64 (neg.f64 im) im) im)
(/.f64 (*.f64 im im) (neg.f64 im))
(/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (*.f64 im im))
(neg.f64 im)
(fma.f64 (/.f64 (*.f64 im im) (*.f64 im im)) (neg.f64 im) #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 im im) (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (*.f64 im im) #s(literal 0 binary64))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 6 binary64)))) (pow.f64 im #s(literal 4 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (*.f64 (neg.f64 im) im) #s(literal 0 binary64))
(fma.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 im im) #s(literal 0 binary64))
(fma.f64 (/.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (pow.f64 im #s(literal 4 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 im im) (pow.f64 im #s(literal 3 binary64))) (*.f64 (neg.f64 im) im) #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 im im) (*.f64 (neg.f64 im) im)) im #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (pow.f64 im #s(literal 3 binary64))) (*.f64 im im) #s(literal 0 binary64))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 im) im)) (neg.f64 im) #s(literal 0 binary64))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (*.f64 im im) #s(literal 0 binary64))
(fma.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (*.f64 (neg.f64 im) im) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 im im) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 im #s(literal 4 binary64)) (neg.f64 im))
(fma.f64 (pow.f64 #s(literal 0 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 0 binary64) #s(literal 1 binary64)) (neg.f64 im))
(fma.f64 (pow.f64 #s(literal 0 binary64) #s(literal 3/4 binary64)) (pow.f64 #s(literal 0 binary64) #s(literal 3/4 binary64)) (neg.f64 im))
(fma.f64 (/.f64 (*.f64 im im) (fabs.f64 im)) (/.f64 (neg.f64 im) (fabs.f64 im)) #s(literal 0 binary64))
(fma.f64 (/.f64 im (fabs.f64 im)) (/.f64 #s(literal 0 binary64) (fabs.f64 im)) (neg.f64 im))
(fma.f64 (/.f64 im (neg.f64 im)) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (/.f64 im im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 0 binary64) (fabs.f64 im)) (/.f64 im (fabs.f64 im)) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 0 binary64) (fabs.f64 im)) (/.f64 #s(literal 0 binary64) (fabs.f64 im)) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 im im) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (fabs.f64 im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 #s(literal 2 binary64) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (*.f64 im im) (/.f64 (neg.f64 im) (*.f64 im im)) #s(literal 0 binary64))
(fma.f64 (*.f64 im im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 #s(literal 1 binary64) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (sinh.f64 im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (cosh.f64 im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 (neg.f64 im) (/.f64 (neg.f64 im) (neg.f64 im)) #s(literal 0 binary64))
(fma.f64 (neg.f64 im) #s(literal 0 binary64) (neg.f64 im))
(fma.f64 im (/.f64 (neg.f64 im) im) #s(literal 0 binary64))
(fma.f64 im #s(literal 0 binary64) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (/.f64 im #s(literal 2 binary64)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (/.f64 im (*.f64 im im)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (*.f64 im (sinh.f64 im)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (*.f64 im (cosh.f64 im)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (-.f64 im (*.f64 im im)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (/.f64 im (neg.f64 im)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (/.f64 im im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3/2 binary64)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 4 binary64)) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (fabs.f64 im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) #s(literal 2 binary64) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (*.f64 (neg.f64 im) im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (*.f64 im im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) #s(literal 3 binary64) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) #s(literal 1 binary64) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (sinh.f64 im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (cosh.f64 im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) (neg.f64 im) (neg.f64 im))
(fma.f64 #s(literal 0 binary64) im (neg.f64 im))
(fma.f64 #s(literal 0 binary64) #s(literal 0 binary64) (neg.f64 im))
(-.f64 (log.f64 (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (log.f64 (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (neg.f64 (exp.f64 im))))
(-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) im))
(-.f64 (neg.f64 im) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) im)
(+.f64 (neg.f64 im) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (neg.f64 im))
(log.f64 (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(fma.f64 (*.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(fma.f64 (sin.f64 re) #s(literal 1/2 binary64) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 re) #s(literal 1/2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) #s(literal 1 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(+.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(sin.f64 re)
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(*.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)))
(*.f64 #s(literal 1 binary64) (exp.f64 im))
(*.f64 (exp.f64 im) #s(literal 1 binary64))
(/.f64 (-.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (-.f64 (sinh.f64 im) (cosh.f64 im)))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) (neg.f64 im))) #s(literal 2 binary64))))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 im) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 im) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 im) (sinh.f64 im) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (exp.f64 im)))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(fma.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (sinh.f64 im))
(fma.f64 #s(literal 1 binary64) (sinh.f64 im) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(fma.f64 (sinh.f64 im) #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(-.f64 (+.f64 (sinh.f64 im) (*.f64 #s(literal 1 binary64) (cosh.f64 im))) #s(literal 0 binary64))
(-.f64 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (exp.f64 (neg.f64 im))) (/.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (+.f64 #s(literal 0 binary64) (sinh.f64 (neg.f64 im))))
(-.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (-.f64 #s(literal 0 binary64) (sinh.f64 im)))
(-.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(exp.f64 im)
(+.f64 (-.f64 (cosh.f64 im) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(+.f64 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 im)) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(+.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(*.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64))
(pow.f64 (exp.f64 im) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (*.f64 (sinh.f64 im) (exp.f64 im))))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 im) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64))
(/.f64 (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 im) (sinh.f64 im) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(/.f64 (+.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (exp.f64 im))))
(/.f64 #s(literal 1 binary64) (exp.f64 im))
(neg.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)))
(fma.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 0 binary64) (exp.f64 (neg.f64 im))))
(fma.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (exp.f64 (neg.f64 im)) #s(literal 0 binary64)))
(fma.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (/.f64 #s(literal 0 binary64) (exp.f64 im)))
(fma.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)) (*.f64 #s(literal 0 binary64) (exp.f64 (neg.f64 im))))
(fma.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)) (/.f64 #s(literal 0 binary64) (exp.f64 im)))
(fma.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64) (*.f64 (exp.f64 (neg.f64 im)) #s(literal 0 binary64)))
(fma.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) (exp.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(-.f64 (+.f64 (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 1 binary64) (cosh.f64 im))) #s(literal 0 binary64))
(-.f64 (+.f64 (cosh.f64 im) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(-.f64 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (exp.f64 im)) (/.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (exp.f64 im)))
(-.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (+.f64 #s(literal 0 binary64) (sinh.f64 im)))
(-.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (-.f64 #s(literal 0 binary64) (sinh.f64 (neg.f64 im))))
(-.f64 (cosh.f64 im) (sinh.f64 im))
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 im)) (cosh.f64 im)))
(exp.f64 (neg.f64 im))
(+.f64 (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(+.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(+.f64 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))) (/.f64 (neg.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (*.f64 #s(literal 0 binary64) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) #s(literal 0 binary64)))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 #s(literal 0 binary64) (exp.f64 im)))

eval43.0ms (0.5%)

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

Compiled 7 563 to 1 256 computations (83.4% saved)

prune6.0ms (0.1%)

Memory
-25.0MiB live, 21.7MiB allocated; 2ms collecting garbage
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New3692371
Fresh000
Picked101
Done000
Total3702372
Accuracy
100.0%
Counts
372 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
71.2%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
Compiler

Compiled 29 to 25 computations (13.8% saved)

simplify153.0ms (1.7%)

Memory
41.4MiB live, 229.2MiB allocated; 16ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 re)
cost-diff0
(cosh.f64 im)
cost-diff0
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
cost-diff2
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
cost-diff0
(*.f64 #s(literal 1/2 binary64) im)
cost-diff0
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02064
02859
16459
217553
382853
4767553
0939053
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
#s(literal 1 binary64)
(sin.f64 re)
re
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
#s(literal 1 binary64)
(cosh.f64 im)
im
(sin.f64 re)
re
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 im #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
im
#s(literal 1 binary64)
(sin.f64 re)
re
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(cosh.f64 im)
#s(literal 1 binary64)
(cosh.f64 im)
im
(sin.f64 re)
re

localize80.0ms (0.9%)

Memory
-26.7MiB live, 114.4MiB allocated; 20ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
accuracy0.0
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(cosh.f64 im)
accuracy0.0
(*.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(sin.f64 re)
accuracy2.8539992642799135
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
Samples
67.0ms256×0valid
Compiler

Compiled 58 to 21 computations (63.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
ival-mult: 35.0ms (62.3% of total)
ival-sin: 11.0ms (19.6% of total)
ival-exp: 4.0ms (7.1% of total)
ival-cosh: 3.0ms (5.3% of total)
ival-add: 2.0ms (3.6% of total)
ival-sub: 1.0ms (1.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)

series12.0ms (0.1%)

Memory
22.4MiB live, 22.3MiB allocated; 0ms collecting garbage
Counts
8 → 34
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(cosh.f64 im)
(sin.f64 re)
Outputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(sin re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
1
(+ 1 (* 1/2 (pow im 2)))
(* 1/2 im)
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(* 1/2 (* (pow im 2) (sin re)))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* 1/2 (pow im 2))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Calls

6 calls:

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

simplify278.0ms (3.1%)

Memory
-20.0MiB live, 217.6MiB allocated; 166ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0147592
1636518
22566494
08269449
Stop Event
iter limit
node limit
Counts
34 → 33
Calls
Call 1
Inputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(sin re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
1
(+ 1 (* 1/2 (pow im 2)))
(* 1/2 im)
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(* 1/2 (* (pow im 2) (sin re)))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* 1/2 (pow im 2))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Outputs
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(*.f64 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) re)
(* re (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))) re)
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(*.f64 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) re)
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(sin re)
(sin.f64 re)
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(*.f64 (sin.f64 re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re)))
1
#s(literal 1 binary64)
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(* 1/2 im)
(*.f64 im #s(literal 1/2 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(* 1/2 (* (pow im 2) (sin re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(*.f64 (fma.f64 (sin.f64 re) #s(literal 1/2 binary64) (/.f64 (/.f64 (sin.f64 re) im) im)) (*.f64 im im))
(* 1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal 1/2 binary64))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))

rewrite83.0ms (0.9%)

Memory
3.5MiB live, 102.4MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02055
02850
110448
070548
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
8 → 84
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(cosh.f64 im)
(sin.f64 re)
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64))))
(*.f64 (sin.f64 re) (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) (sin.f64 re))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (sin.f64 re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (sin.f64 re)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) (sin.f64 re) (*.f64 #s(literal 1 binary64) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) (*.f64 (sin.f64 re) #s(literal 1 binary64)))
(fma.f64 (sin.f64 re) #s(literal 1 binary64) (*.f64 (sin.f64 re) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(fma.f64 #s(literal 1 binary64) (sin.f64 re) (*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) (sin.f64 re)) (*.f64 #s(literal 1 binary64) (sin.f64 re)))
(+.f64 (*.f64 #s(literal 1 binary64) (sin.f64 re)) (*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)) (*.f64 (sin.f64 re) #s(literal 1 binary64)))
(+.f64 (*.f64 (sin.f64 re) #s(literal 1 binary64)) (*.f64 (sin.f64 re) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im #s(literal 1 binary64))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(fma.f64 im (*.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im #s(literal 1/2 binary64))) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 im #s(literal 1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))))
(+.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) im))
(*.f64 im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (*.f64 (+.f64 (expm1.f64 (+.f64 im im)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(-.f64 (cosh.f64 im) (*.f64 #s(literal 0 binary64) (sinh.f64 im)))
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (sin.f64 re)) (cosh.f64 im))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) (sin.f64 re)))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (*.f64 (+.f64 (expm1.f64 (+.f64 im im)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(-.f64 (cosh.f64 im) (*.f64 #s(literal 0 binary64) (sinh.f64 im)))
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(sin.f64 re)

eval17.0ms (0.2%)

Memory
-15.0MiB live, 30.3MiB allocated; 9ms collecting garbage
Compiler

Compiled 2 532 to 372 computations (85.3% saved)

prune8.0ms (0.1%)

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

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New978105
Fresh000
Picked112
Done000
Total989107
Accuracy
100.0%
Counts
107 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 re) (cosh.f64 im))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
84.3%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
71.2%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
50.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
42.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
37.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
47.9%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
20.4%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
Compiler

Compiled 472 to 338 computations (28.4% saved)

simplify208.0ms (2.3%)

Memory
-4.3MiB live, 326.6MiB allocated; 143ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
cost-diff0
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
cost-diff0
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
cost-diff0
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
cost-diff0
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
cost-diff5
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
cost-diff0
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
cost-diff0
(cosh.f64 im)
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) (cosh.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049442
077429
1165429
2537411
32815395
08170391
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(sin.f64 re)
re
(cosh.f64 im)
im
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
re
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re)
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal 1 binary64)
re
(fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 re re)
#s(literal -1/6 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(sin.f64 re)
re
#s(literal 1/2 binary64)
im
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
#s(literal 1/720 binary64)
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(sin.f64 re)
re
Outputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 (cosh.f64 im) (sin.f64 re))
(sin.f64 re)
re
(cosh.f64 im)
im
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
re
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) re #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) re #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
(*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) re #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) re #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(*.f64 im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) im)
im
#s(literal 1/2 binary64)
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re)
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal 1 binary64)
re
(fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))
(fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 re re)
#s(literal -1/6 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im)
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im)
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(sin.f64 re)
re
#s(literal 1/2 binary64)
im
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
#s(literal 1/720 binary64)
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(sin.f64 re)
re

localize177.0ms (2%)

Memory
-3.4MiB live, 391.2MiB allocated; 42ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.046875
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.0625
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
accuracy0.09765625
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
accuracy5.902890754903534
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
accuracy0.140625
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
accuracy0.15234375
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
accuracy29.829389709834956
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
accuracy2.8461867642799135
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
accuracy2.8735305142799135
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
accuracy28.207548152975654
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
accuracy0.0
(*.f64 im im)
accuracy2.8735305142799135
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
accuracy28.460464238015486
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
accuracy0.0
(*.f64 (sin.f64 re) (cosh.f64 im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(cosh.f64 im)
Samples
143.0ms256×0valid
Compiler

Compiled 312 to 49 computations (84.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 121.0ms
ival-mult: 56.0ms (46.2% of total)
ival-add: 37.0ms (30.5% of total)
const: 12.0ms (9.9% of total)
ival-sin: 7.0ms (5.8% of total)
ival-exp: 3.0ms (2.5% of total)
ival-cosh: 3.0ms (2.5% of total)
ival-sub: 1.0ms (0.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)

series31.0ms (0.3%)

Memory
8.4MiB live, 53.3MiB allocated; 11ms collecting garbage
Counts
21 → 76
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(sin.f64 re)
(cosh.f64 im)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(*.f64 im im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
Outputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
(* 1/2 (* (pow im 2) re))
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(* 1/2 (* im re))
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(sin re)
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/2 (* (pow im 2) (sin re)))
(* 1/2 (* im (sin re)))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
1
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ re (* 1/2 (* (pow im 2) re)))
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
1/2
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(pow im 2)
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* (pow im 2) (+ (* 1/2 re) (/ re (pow im 2))))
(* 1/2 (pow im 2))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(* 1/720 (pow im 6))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(* 1/720 (pow im 4))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Calls

6 calls:

TimeVariablePointExpression
9.0ms
im
@0
((* (sin re) (cosh im)) (sin re) (cosh im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im im) 1/2) 1) re) (+ (* (* im im) 1/2) 1) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im)) 1) (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im) (+ (* 1/720 (* im im)) 1/24))
6.0ms
re
@inf
((* (sin re) (cosh im)) (sin re) (cosh im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im im) 1/2) 1) re) (+ (* (* im im) 1/2) 1) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im)) 1) (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im) (+ (* 1/720 (* im im)) 1/24))
4.0ms
im
@inf
((* (sin re) (cosh im)) (sin re) (cosh im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im im) 1/2) 1) re) (+ (* (* im im) 1/2) 1) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im)) 1) (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im) (+ (* 1/720 (* im im)) 1/24))
4.0ms
im
@-inf
((* (sin re) (cosh im)) (sin re) (cosh im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im im) 1/2) 1) re) (+ (* (* im im) 1/2) 1) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im)) 1) (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im) (+ (* 1/720 (* im im)) 1/24))
3.0ms
re
@-inf
((* (sin re) (cosh im)) (sin re) (cosh im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im im) 1/2) 1) re) (+ (* (* im im) 1/2) 1) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im)) 1) (+ (* (+ (* 1/720 (* im im)) 1/24) (* im im)) 1/2) (* im im) (+ (* 1/720 (* im im)) 1/24))

simplify169.0ms (1.9%)

Memory
13.4MiB live, 186.8MiB allocated; 43ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02621387
111031273
247111256
083321140
Stop Event
iter limit
node limit
Counts
76 → 75
Calls
Call 1
Inputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
(* 1/2 (* (pow im 2) re))
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(* 1/2 (* im re))
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(sin re)
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/2 (* (pow im 2) (sin re)))
(* 1/2 (* im (sin re)))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
1
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ re (* 1/2 (* (pow im 2) re)))
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
1/2
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(pow im 2)
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* (pow im 2) (+ (* 1/2 re) (/ re (pow im 2))))
(* 1/2 (pow im 2))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(* 1/720 (pow im 6))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(* 1/720 (pow im 4))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Outputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
(*.f64 (fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(*.f64 (fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* re (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(* 1/2 (* (pow im 2) re))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) im)
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal 1/240 binary64) (*.f64 (*.f64 im im) #s(literal -1/12 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) im))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/10080 binary64))) re) re (*.f64 (*.f64 im im) #s(literal -1/12 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) im))
(* 1/2 (* im re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/240 binary64) (*.f64 #s(literal -1/12 binary64) im)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/10080 binary64) (*.f64 #s(literal 1/240 binary64) im)) re) re (*.f64 #s(literal -1/12 binary64) im)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(sin re)
(sin.f64 re)
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) #s(literal 1/120 binary64)))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(*.f64 (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)) (pow.f64 re #s(literal 4 binary64)))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) #s(literal 1/120 binary64)))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)))
(* 1/2 (* (pow im 2) (sin re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal 1/2 binary64)) im)
(* 1/2 (* im (sin re)))
(*.f64 (*.f64 (sin.f64 re) im) #s(literal 1/2 binary64))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)))))
1
#s(literal 1 binary64)
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ re (* 1/2 (* (pow im 2) re)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
(fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/24 (pow im 2)))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(pow im 2)
(*.f64 im im)
1/24
#s(literal 1/24 binary64)
(+ 1/24 (* 1/720 (pow im 2)))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(*.f64 (fma.f64 (sin.f64 re) #s(literal 1/2 binary64) (/.f64 (/.f64 (sin.f64 re) im) im)) (*.f64 im im))
(* (pow im 2) (+ (* 1/2 re) (/ re (pow im 2))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (/.f64 re (*.f64 im im))) im) im)
(* 1/2 (pow im 2))
(*.f64 (*.f64 im im) #s(literal 1/2 binary64))
(* (pow im 2) (+ 1/2 (/ 1 (pow im 2))))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64) (/.f64 (/.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) im) im)) (*.f64 im im))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im)
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re (/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re) (*.f64 im im))) (*.f64 im im))
(* 1/720 (pow im 6))
(*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/720 binary64))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (/.f64 #s(literal -1/24 binary64) (*.f64 im im))) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(*.f64 (+.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/24 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 6 binary64)))
(* 1/720 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/720 binary64))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (/.f64 #s(literal -1/24 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64)))
(* 1/720 (pow im 2))
(*.f64 #s(literal 1/720 binary64) (*.f64 im im))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))

rewrite140.0ms (1.6%)

Memory
-16.8MiB live, 137.6MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049353
077340
1296334
02133334
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
21 → 284
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(sin.f64 re)
(cosh.f64 im)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re))
(*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im)
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(*.f64 im im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
Outputs
(*.f64 (*.f64 (sin.f64 re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) (sin.f64 re)))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 2 binary64))
(sin.f64 re)
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (*.f64 (+.f64 (expm1.f64 (+.f64 im im)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(-.f64 (cosh.f64 im) (*.f64 #s(literal 0 binary64) (sinh.f64 im)))
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(*.f64 re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) re) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 re (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re (*.f64 #s(literal 1 binary64) re))
(fma.f64 #s(literal 1 binary64) re (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re))
(fma.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re #s(literal 1 binary64)))
(fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) re) (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re))
(+.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 #s(literal 1 binary64) re))
(+.f64 (*.f64 re #s(literal 1 binary64)) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(+.f64 (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) #s(literal 1 binary64)) (-.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64))) (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (fabs.f64 im)) (fabs.f64 im) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 im)) (neg.f64 im) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/2 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/2 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)) #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 re re) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 re (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 im #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 im im) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) im) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(fma.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 re (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))) (/.f64 (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))))
(-.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) #s(literal -1 binary64))
(-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im (neg.f64 im)) #s(literal 1/2 binary64)))
(-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) im)) im))
(-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))
(-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(+.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)))
(+.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(+.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
(+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))) re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))) re)
(*.f64 re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64))) re) (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64))) re) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 2 binary64)))) (-.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(/.f64 (*.f64 re (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (-.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) re))
(fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) re (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re))
(fma.f64 re (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 re #s(literal 1 binary64)))
(fma.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))))
(fma.f64 re (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re) (*.f64 #s(literal 1 binary64) re))
(+.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) re))
(+.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64)) re) (*.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) re))
(+.f64 (*.f64 re (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) (*.f64 re #s(literal 1 binary64)))
(+.f64 (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 re (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))))
(+.f64 (*.f64 re (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) #s(literal 1 binary64))) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 im (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im) im)
(*.f64 (*.f64 im im) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 im im))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 re) im) #s(literal 1/2 binary64))
(*.f64 (*.f64 im (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) im)
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) im))
(*.f64 im (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(fma.f64 im (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) im) im))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) (*.f64 #s(literal 1/2 binary64) im)))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im))
(fma.f64 im (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)) im))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im))
(*.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im)
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (neg.f64 im)) (*.f64 im im))
(/.f64 (*.f64 (neg.f64 im) (*.f64 im (neg.f64 im))) im)
(/.f64 (*.f64 (neg.f64 im) (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 im im))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 im im) (*.f64 im im))) (*.f64 im (neg.f64 im)))
(/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im))
(/.f64 (+.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 0 binary64)) (fma.f64 (*.f64 im im) (*.f64 im im) (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 im im) #s(literal 0 binary64)))))
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 #s(literal 0 binary64) (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im))) (*.f64 im im))
(/.f64 (*.f64 (*.f64 im (neg.f64 im)) (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 im #s(literal 3 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 im (neg.f64 im))) (pow.f64 im #s(literal 3 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 im im) (*.f64 im im)))
(neg.f64 (*.f64 (neg.f64 im) im))
(neg.f64 (*.f64 im (neg.f64 im)))
(fma.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (pow.f64 #s(literal 0 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 0 binary64) #s(literal 3/2 binary64)) (*.f64 im im))
(fma.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)) #s(literal 0 binary64))
(fma.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)) #s(literal 0 binary64))
(fma.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)) #s(literal 0 binary64))
(fma.f64 (fabs.f64 im) (fabs.f64 im) #s(literal 0 binary64))
(fma.f64 (neg.f64 im) (neg.f64 im) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) #s(literal 3 binary64) (*.f64 im im))
(fma.f64 #s(literal 0 binary64) #s(literal 2 binary64) (*.f64 im im))
(fma.f64 #s(literal 0 binary64) #s(literal 0 binary64) (*.f64 im im))
(fma.f64 #s(literal 0 binary64) im (*.f64 im im))
(fma.f64 im #s(literal 0 binary64) (*.f64 im im))
(fma.f64 im im #s(literal 0 binary64))
(-.f64 (*.f64 im im) #s(literal 0 binary64))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (*.f64 im im) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 im im))
(/.f64 (-.f64 #s(literal 1/576 binary64) (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 1/24 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 1/24 binary64)))
(/.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 3 binary64))) (+.f64 #s(literal 1/576 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(/.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))
(fma.f64 (*.f64 #s(literal 1/720 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 #s(literal 1/720 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 #s(literal 1/720 binary64) im) im #s(literal 1/24 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))
(fma.f64 im (*.f64 #s(literal 1/720 binary64) im) #s(literal 1/24 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 1/24 binary64))) (/.f64 #s(literal 1/576 binary64) (-.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 1/24 binary64))))
(-.f64 #s(literal 1/24 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/720 binary64) im)) im))
(-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im)))
(-.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal 1/720 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))) (/.f64 #s(literal 1/13824 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 im im)) #s(literal 1/24 binary64))
(+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (*.f64 im im)))

eval94.0ms (1.1%)

Memory
1.7MiB live, 241.0MiB allocated; 37ms collecting garbage
Compiler

Compiled 23 585 to 2 761 computations (88.3% saved)

prune37.0ms (0.4%)

Memory
-15.5MiB live, 85.3MiB allocated; 8ms collecting garbage
Pruning

24 alts after pruning (21 fresh and 3 done)

PrunedKeptTotal
New56720587
Fresh213
Picked325
Done011
Total57224596
Accuracy
100.0%
Counts
596 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 re) (cosh.f64 im))
84.3%
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
50.0%
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/720 binary64) im) im #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
71.2%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
37.8%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
42.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
32.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
28.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
48.8%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
37.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
31.8%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
42.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
47.9%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
20.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
35.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
23.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
20.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
15.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
19.3%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
9.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
Compiler

Compiled 1 783 to 1 164 computations (34.7% saved)

simplify253.0ms (2.9%)

Memory
47.8MiB live, 230.2MiB allocated; 62ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cosh im) #s(literal 1 binary64))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
cost-diff0
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
cost-diff0
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
cost-diff0
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
cost-diff0
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
cost-diff0
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
cost-diff0
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
cost-diff0
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
cost-diff0
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
cost-diff0
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
cost-diff0
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
cost-diff0
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069612
0100599
1210595
2696577
33873553
08790553
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
#s(literal 1/720 binary64)
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
im
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
#s(literal -1/6 binary64)
(*.f64 re re)
re
#s(literal 1 binary64)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 re re)
re
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
im
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
(sin.f64 re)
re
#s(approx (cosh im) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))
#s(literal 1/720 binary64)
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im))
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im)
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 (*.f64 re #s(literal 1/2 binary64)) im)
(*.f64 #s(literal 1/2 binary64) re)
(*.f64 re #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
re
im
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))
#s(literal -1/6 binary64)
(*.f64 re re)
re
#s(literal 1 binary64)
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 re re)
re
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
im
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
(*.f64 #s(approx (* 1 (cosh im)) #s(literal 1 binary64)) (sin.f64 re))
(sin.f64 re)
re
#s(approx (cosh im) #s(literal 1 binary64))
#s(approx (* 1 (cosh im)) #s(literal 1 binary64))
#s(literal 1 binary64)

localize244.0ms (2.8%)

Memory
-32.7MiB live, 353.5MiB allocated; 73ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
accuracy0.0
(sin.f64 re)
accuracy31.83228779952555
#s(approx (cosh im) #s(literal 1 binary64))
accuracy2.8461867642799135
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
accuracy23.783753166936965
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
accuracy28.207548152975654
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
accuracy0.1171875
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
accuracy2.8774367642799135
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
accuracy27.084153174800438
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
accuracy0.15234375
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
accuracy21.259817136183738
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
accuracy29.829389709834956
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
accuracy31.37514403470991
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
accuracy0.046875
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.09765625
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
accuracy0.2265625
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
accuracy5.902890754903534
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
Samples
190.0ms256×0valid
Compiler

Compiled 367 to 61 computations (83.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 146.0ms
ival-mult: 63.0ms (43.1% of total)
ival-add: 31.0ms (21.2% of total)
ival-exp: 27.0ms (18.5% of total)
const: 13.0ms (8.9% of total)
ival-sin: 6.0ms (4.1% of total)
ival-cosh: 3.0ms (2.1% of total)
ival-sub: 1.0ms (0.7% 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)

series76.0ms (0.9%)

Memory
10.6MiB live, 55.2MiB allocated; 8ms collecting garbage
Counts
22 → 89
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
(sin.f64 re)
#s(approx (cosh im) #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
Outputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(* 1/2 (* (pow im 2) re))
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(* 1/2 (* im re))
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow re 2)))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/2 (* (pow im 2) (sin re)))
(* 1/2 (* im (sin re)))
(* -1/6 (* (pow re 3) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 3) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(sin re)
(* -1/6 (pow re 2))
(* (pow re 2) (- (/ 1 (pow re 2)) 1/6))
(* -1 (* (pow re 3) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/6 (+ 1 (* 1/2 (pow im 2)))))))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
1/2
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(+ (* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2)))))) (* re (+ 1 (* -1/6 (pow re 2)))))
(+ 1 (+ (* -1/6 (pow re 2)) (* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* 1/24 im)
(* im (+ 1/24 (* 1/720 (pow im 2))))
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* 1/720 (pow im 6))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(* 1/720 (pow im 4))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2))))))
(* (pow im 2) (+ (* 1/2 (* re (+ 1 (* -1/6 (pow re 2))))) (/ (* re (+ 1 (* -1/6 (pow re 2)))) (pow im 2))))
(* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))
(* (pow im 2) (+ (* -1/6 (/ (pow re 2) (pow im 2))) (+ (* 1/2 (+ 1 (* -1/6 (pow re 2)))) (/ 1 (pow im 2)))))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(* 1/720 (pow im 3))
(* (pow im 3) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Calls

6 calls:

TimeVariablePointExpression
58.0ms
im
@inf
((* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* im im)) 1) (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) re) (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (sin re) (cosh im)) (sin re) (cosh im) (* (+ (* 1/720 (* im im)) 1/24) im) (+ (* 1/720 (* im im)) 1/24) (+ (* -1/6 (* re re)) 1))
4.0ms
im
@-inf
((* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* im im)) 1) (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) re) (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (sin re) (cosh im)) (sin re) (cosh im) (* (+ (* 1/720 (* im im)) 1/24) im) (+ (* 1/720 (* im im)) 1/24) (+ (* -1/6 (* re re)) 1))
3.0ms
re
@-inf
((* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* im im)) 1) (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) re) (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (sin re) (cosh im)) (sin re) (cosh im) (* (+ (* 1/720 (* im im)) 1/24) im) (+ (* 1/720 (* im im)) 1/24) (+ (* -1/6 (* re re)) 1))
3.0ms
re
@inf
((* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* im im)) 1) (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) re) (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (sin re) (cosh im)) (sin re) (cosh im) (* (+ (* 1/720 (* im im)) 1/24) im) (+ (* 1/720 (* im im)) 1/24) (+ (* -1/6 (* re re)) 1))
3.0ms
im
@0
((* (* 1 (cosh im)) (sin re)) (* 1 (cosh im)) (+ (* (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* im im)) 1) (+ (* (* (+ (* 1/720 (* im im)) 1/24) im) im) 1/2) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (* (sin re) 1/2) im) im) (* (* (sin re) 1/2) im) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) re) (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (* (+ (* (* 1/2 im) im) 1) (sin re)) (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (* (sin re) (cosh im)) (sin re) (cosh im) (* (+ (* 1/720 (* im im)) 1/24) im) (+ (* 1/720 (* im im)) 1/24) (+ (* -1/6 (* re re)) 1))

simplify368.0ms (4.2%)

Memory
11.1MiB live, 185.4MiB allocated; 64ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02951638
112441476
256991467
085831334
Stop Event
iter limit
node limit
Counts
89 → 88
Calls
Call 1
Inputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(* re (+ 1 (* 1/2 (pow im 2))))
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(* 1/2 (* (pow im 2) re))
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(* 1/2 (* im re))
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow re 2)))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(* 1/2 (* (pow im 2) (sin re)))
(* 1/2 (* im (sin re)))
(* -1/6 (* (pow re 3) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 3) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(sin re)
(* -1/6 (pow re 2))
(* (pow re 2) (- (/ 1 (pow re 2)) 1/6))
(* -1 (* (pow re 3) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/6 (+ 1 (* 1/2 (pow im 2)))))))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
1/2
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(+ (* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2)))))) (* re (+ 1 (* -1/6 (pow re 2)))))
(+ 1 (+ (* -1/6 (pow re 2)) (* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* 1/24 im)
(* im (+ 1/24 (* 1/720 (pow im 2))))
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(* 1/720 (pow im 6))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(* 1/720 (pow im 4))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2))))))
(* (pow im 2) (+ (* 1/2 (* re (+ 1 (* -1/6 (pow re 2))))) (/ (* re (+ 1 (* -1/6 (pow re 2)))) (pow im 2))))
(* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))
(* (pow im 2) (+ (* -1/6 (/ (pow re 2) (pow im 2))) (+ (* 1/2 (+ 1 (* -1/6 (pow re 2)))) (/ 1 (pow im 2)))))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(* 1/720 (pow im 3))
(* (pow im 3) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
Outputs
(* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)))))
(* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))
(*.f64 (fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* 1/2 (* re (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im))))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* 1/240 (* (pow re 2) (+ (exp im) (exp (neg im)))))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)))))
(* re (+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/240 (+ (exp im) (exp (neg im))))))))))
(*.f64 (fma.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* re (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* re (+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2)))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/120 (+ 1 (* 1/2 (pow im 2)))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* 1/2 (* (pow im 2) re))
(*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(* re (+ (* -1/12 (* (pow im 2) (pow re 2))) (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* 1/240 (* (pow im 2) (pow re 2)))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 im im) (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal 1/240 binary64)))))
(* re (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/12 (pow im 2)) (* (pow re 2) (+ (* -1/10080 (* (pow im 2) (pow re 2))) (* 1/240 (pow im 2))))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 im im) (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/10080 binary64))) re) re (*.f64 (*.f64 #s(literal -1/12 binary64) im) im))))
(* 1/2 (* im re))
(*.f64 (*.f64 re im) #s(literal 1/2 binary64))
(* re (+ (* -1/12 (* im (pow re 2))) (* 1/2 im)))
(*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* 1/240 (* im (pow re 2)))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) im (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/240 binary64) (*.f64 #s(literal -1/12 binary64) im))))
(* re (+ (* 1/2 im) (* (pow re 2) (+ (* -1/12 im) (* (pow re 2) (+ (* -1/10080 (* im (pow re 2))) (* 1/240 im)))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) im (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/10080 binary64) (*.f64 #s(literal 1/240 binary64) im)) re) re (*.f64 #s(literal -1/12 binary64) im))))
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (+ (* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2))))) (* 1/2 (pow im 2))))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)))
(+ 1 (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (* 1/120 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(* 1/2 (* (sin re) (+ (exp im) (exp (neg im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(* (sin re) (+ 1 (* 1/2 (pow im 2))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(* 1/2 (* (pow im 2) (sin re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal 1/2 binary64)) im)
(* 1/2 (* im (sin re)))
(*.f64 (*.f64 (sin.f64 re) im) #s(literal 1/2 binary64))
(* -1/6 (* (pow re 3) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)))
(* (pow re 3) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (pow.f64 re #s(literal 3 binary64)))
(* -1/6 (* (pow re 2) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)
(* (pow re 2) (+ (* -1/6 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 2))) (/ 1 (pow re 2)))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))
(* 1/120 (* (pow re 5) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (pow.f64 re #s(literal 5 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) #s(literal 1/120 binary64)))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (pow.f64 re #s(literal 5 binary64)))
(* (pow re 5) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(*.f64 (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)) (pow.f64 re #s(literal 5 binary64)))
(* 1/120 (* (pow re 4) (+ 1 (* 1/2 (pow im 2)))))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/240 binary64) #s(literal 1/120 binary64)))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/120 (+ 1 (* 1/2 (pow im 2))))))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))))
(* (pow re 4) (+ (* -1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (+ (* 1/120 (+ 1 (* 1/2 (pow im 2)))) (+ (* 1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 4))))))
(*.f64 (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)) (pow.f64 re #s(literal 4 binary64)))
(sin re)
(sin.f64 re)
(* -1/6 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/6 binary64))
(* (pow re 2) (- (/ 1 (pow re 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)
(* -1 (* (pow re 3) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))) (* 1/6 (+ 1 (* 1/2 (pow im 2)))))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (pow.f64 re #s(literal 3 binary64)))
(* -1 (* (pow re 5) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2))))))
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (pow.f64 re #s(literal 5 binary64)))
(* -1 (* (pow re 5) (+ (* -1 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 4))) (+ (* -1/120 (+ 1 (* 1/2 (pow im 2)))) (* 1/6 (/ (+ 1 (* 1/2 (pow im 2))) (pow re 2)))))))
(*.f64 (-.f64 (-.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal -1/240 binary64) (*.f64 im im) #s(literal -1/120 binary64))) (/.f64 (/.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64)) re) re)) (pow.f64 re #s(literal 5 binary64)))
(+ (sin re) (* 1/2 (* (pow im 2) (sin re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))
(fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (sin.f64 re))
(+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)))))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/24 (pow im 2)))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
(fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(+ (* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2)))))) (* re (+ 1 (* -1/6 (pow re 2)))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
(+ 1 (+ (* -1/6 (pow re 2)) (* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(+ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))))
(fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re))
(+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(* 1/24 im)
(*.f64 #s(literal 1/24 binary64) im)
(* im (+ 1/24 (* 1/720 (pow im 2))))
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
1/24
#s(literal 1/24 binary64)
(+ 1/24 (* 1/720 (pow im 2)))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(* 1/720 (pow im 6))
(*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/720 binary64))
(* (pow im 6) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (/.f64 #s(literal -1/24 binary64) (*.f64 im im))) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (+ 1/720 (+ (/ 1/2 (pow im 4)) (+ (* 1/24 (/ 1 (pow im 2))) (/ 1 (pow im 6))))))
(*.f64 (+.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/24 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 6 binary64)))
(* 1/720 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/720 binary64))
(* (pow im 4) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)))
(* (pow im 4) (+ 1/720 (+ (/ 1/2 (pow im 4)) (* 1/24 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/720 binary64)) (/.f64 #s(literal -1/24 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 2) (+ (* 1/2 (sin re)) (/ (sin re) (pow im 2))))
(*.f64 (fma.f64 (sin.f64 re) #s(literal 1/2 binary64) (/.f64 (/.f64 (sin.f64 re) im) im)) (*.f64 im im))
(* 1/2 (* (pow im 2) (* re (+ 1 (* -1/6 (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(* (pow im 2) (+ (* 1/2 (* re (+ 1 (* -1/6 (pow re 2))))) (/ (* re (+ 1 (* -1/6 (pow re 2)))) (pow im 2))))
(*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re (/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re) (*.f64 im im))) (*.f64 im im))
(* 1/2 (* (pow im 2) (+ 1 (* -1/6 (pow re 2)))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))
(* (pow im 2) (+ (* -1/6 (/ (pow re 2) (pow im 2))) (+ (* 1/2 (+ 1 (* -1/6 (pow re 2)))) (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 (/.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) (*.f64 im im))
(* (pow im 2) (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
(*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im)
(* (pow im 2) (+ (* re (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))) (/ (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))) (pow im 2))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re (/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 im im))) (*.f64 im im))
(* (pow im 2) (+ 1/2 (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)))))
(*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)
(* (pow im 2) (+ 1/2 (+ (* 1/2 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))) (+ (/ 1 (pow im 2)) (/ (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6)) (pow im 2))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64) (/.f64 (/.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) im) im)) (*.f64 im im))
(* 1/720 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/720 binary64))
(* (pow im 3) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)))
(* 1/720 (pow im 2))
(*.f64 #s(literal 1/720 binary64) (*.f64 im im))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/720 binary64)) im) im)
(* 1/2 (* (sin re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))

rewrite119.0ms (1.3%)

Memory
20.7MiB live, 199.4MiB allocated; 46ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069500
0100487
1362477
02665473
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 208
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im))
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
(sin.f64 re)
#s(approx (cosh im) #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im)
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
Outputs
(*.f64 (sin.f64 re) #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(fma.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im (neg.f64 im)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) im) im))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im)) im))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) im))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im))
(*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)) im)
(*.f64 im #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im)))
#s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 re #s(literal 1/2 binary64)) im))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))
(*.f64 (*.f64 re (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) re)
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re))
(*.f64 re (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) re (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re))
(fma.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (*.f64 re (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) re))
(+.f64 (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im))) (*.f64 re (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) #s(literal 3 binary64)) (pow.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re)) re (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))) (*.f64 re re) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) im (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) im) (*.f64 #s(literal 1/2 binary64) im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) re) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) re) #s(literal -1/6 binary64) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) (*.f64 #s(literal -1/6 binary64) re) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) re) #s(literal -1/6 binary64)))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) re) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 im (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) #s(literal -1/6 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) (*.f64 #s(literal 1/2 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) im) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (*.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(fma.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (*.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal 1 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))) (*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64))))
(+.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) re) #s(literal -1/6 binary64)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) re) re) #s(literal -1/6 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) #s(literal 1 binary64)))
(+.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 im im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re))
(*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)
(*.f64 re #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)))
#s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im))
(*.f64 #s(approx (* 1 (cosh im)) #s(literal 1 binary64)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (* 1 (cosh im)) #s(literal 1 binary64)))
(sin.f64 re)
#s(approx (* 1 (cosh im)) #s(literal 1 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im)
(*.f64 im (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) im) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64))) im) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64))) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)))
(/.f64 (*.f64 im (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64)))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) im (*.f64 #s(literal 1/24 binary64) im))
(fma.f64 #s(literal 1/24 binary64) im (*.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) im))
(fma.f64 im (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) (*.f64 im #s(literal 1/24 binary64)))
(fma.f64 im #s(literal 1/24 binary64) (*.f64 im (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) im) (*.f64 #s(literal 1/24 binary64) im))
(+.f64 (*.f64 #s(literal 1/24 binary64) im) (*.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) im))
(+.f64 (*.f64 im (*.f64 (*.f64 im im) #s(literal 1/720 binary64))) (*.f64 im #s(literal 1/24 binary64)))
(+.f64 (*.f64 im #s(literal 1/24 binary64)) (*.f64 im (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(/.f64 (-.f64 #s(literal 1/576 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)))
(/.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1/576 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(/.f64 (+.f64 #s(literal 1/13824 binary64) (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))
(fma.f64 (*.f64 #s(literal 1/720 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 #s(literal 1/720 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1/24 binary64))
(fma.f64 (*.f64 #s(literal 1/720 binary64) im) im #s(literal 1/24 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(fma.f64 im (*.f64 #s(literal 1/720 binary64) im) #s(literal 1/24 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))) (/.f64 #s(literal 1/576 binary64) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))))
(-.f64 #s(literal 1/24 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/720 binary64) im)) im))
(-.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im (neg.f64 im)) #s(literal 1/720 binary64)))
(-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))) (/.f64 #s(literal 1/13824 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 2 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))
(+.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1 binary64))
(fma.f64 (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))
(fma.f64 #s(literal -1 binary64) #s(literal -1 binary64) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) re) (*.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) re) re #s(literal 1 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))
(fma.f64 re (*.f64 #s(literal -1/6 binary64) re) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) re)) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))

eval59.0ms (0.7%)

Memory
30.2MiB live, 74.3MiB allocated; 6ms collecting garbage
Compiler

Compiled 12 545 to 1 554 computations (87.6% saved)

prune70.0ms (0.8%)

Memory
-9.8MiB live, 121.3MiB allocated; 29ms collecting garbage
Pruning

28 alts after pruning (20 fresh and 8 done)

PrunedKeptTotal
New28710297
Fresh61016
Picked055
Done033
Total29328321
Accuracy
100.0%
Counts
321 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 re) (cosh.f64 im))
84.3%
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
50.0%
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
90.7%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
84.3%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
71.2%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
37.8%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
42.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
32.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
28.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
48.8%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
37.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
42.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
47.9%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
44.3%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
20.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
35.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
23.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
25.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
25.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
15.4%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
20.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
15.7%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
19.3%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
9.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
20.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
Compiler

Compiled 2 730 to 1 037 computations (62% saved)

regimes555.0ms (6.3%)

Memory
-135.6MiB live, 252.3MiB allocated; 831ms collecting garbage
Counts
41 → 1
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/720 binary64) im) im #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Outputs
(*.f64 (sin.f64 re) (cosh.f64 im))
Calls

6 calls:

392.0ms
re
112.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
16.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
13.0ms
im
11.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
100.0%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
100.0%1(sin.f64 re)
100.0%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
100.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
100.0%1re
100.0%1im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes91.0ms (1%)

Memory
-11.1MiB live, 131.6MiB allocated; 11ms collecting garbage
Counts
38 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/720 binary64) im) im #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Calls

6 calls:

38.0ms
im
13.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
10.0ms
re
10.0ms
(sin.f64 re)
9.0ms
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Results
AccuracySegmentsBranch
90.7%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
90.7%1(sin.f64 re)
90.7%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
92.6%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
90.7%1re
93.9%3im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes13.0ms (0.1%)

Memory
-12.0MiB live, 33.4MiB allocated; 4ms collecting garbage
Counts
34 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Calls

1 calls:

8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
92.6%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes58.0ms (0.7%)

Memory
27.5MiB live, 125.6MiB allocated; 16ms collecting garbage
Counts
32 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))
Calls

6 calls:

13.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
12.0ms
im
9.0ms
re
8.0ms
(sin.f64 re)
8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
84.3%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
84.3%1(sin.f64 re)
84.3%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
84.3%1re
90.8%3im
87.7%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes54.0ms (0.6%)

Memory
6.8MiB live, 50.7MiB allocated; 14ms collecting garbage
Counts
29 → 4
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re)))
Calls

6 calls:

15.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
8.0ms
im
8.0ms
re
8.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
8.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
78.9%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
76.8%2re
76.9%3(sin.f64 re)
76.9%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
86.2%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
88.1%4im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes28.0ms (0.3%)

Memory
-16.7MiB live, 26.6MiB allocated; 9ms collecting garbage
Counts
28 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (cosh im) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) im) im)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
Calls

2 calls:

18.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
8.0ms
im
Results
AccuracySegmentsBranch
86.0%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
86.0%5im
Compiler

Compiled 13 to 13 computations (0% saved)

regimes56.0ms (0.6%)

Memory
-4.1MiB live, 90.8MiB allocated; 27ms collecting garbage
Counts
25 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/12 binary64) (*.f64 im im) #s(literal 1/6 binary64))) (*.f64 re re))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))
Calls

6 calls:

15.0ms
(sin.f64 re)
11.0ms
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
7.0ms
im
7.0ms
re
7.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
66.2%3(sin.f64 re)
66.2%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
54.8%2re
55.2%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
59.3%4im
62.9%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes14.0ms (0.2%)

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

2 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
6.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
66.2%3(sin.f64 re)
66.2%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes16.0ms (0.2%)

Memory
3.2MiB live, 46.4MiB allocated; 6ms collecting garbage
Counts
20 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))
Calls

2 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
6.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
65.6%3(sin.f64 re)
65.6%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes12.0ms (0.1%)

Memory
-5.5MiB live, 40.8MiB allocated; 3ms collecting garbage
Counts
17 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))
Calls

2 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
5.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
65.6%3(sin.f64 re)
65.6%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes15.0ms (0.2%)

Memory
-1.2MiB live, 45.2MiB allocated; 2ms collecting garbage
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 re #s(literal 1 binary64) (*.f64 re (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 im im))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) re) re) #s(literal -1/12 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
Calls

3 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
4.0ms
(sin.f64 re)
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
62.9%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
62.6%2(sin.f64 re)
62.6%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes49.0ms (0.5%)

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

3 calls:

39.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
4.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
4.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
57.9%2(sin.f64 re)
57.9%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
56.6%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes46.0ms (0.5%)

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

3 calls:

38.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
4.0ms
(sin.f64 re)
4.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
56.3%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
58.0%3(sin.f64 re)
58.0%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes7.0ms (0.1%)

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

2 calls:

3.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
3.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
57.9%3(sin.f64 re)
57.9%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes8.0ms (0.1%)

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

3 calls:

3.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
(sin.f64 re)
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
56.2%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
56.2%2(sin.f64 re)
56.2%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 18 to 19 computations (-5.6% saved)

regimes120.0ms (1.4%)

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

6 calls:

109.0ms
im
2.0ms
(sin.f64 re)
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
re
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
42.5%1re
42.5%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
42.5%1im
42.5%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
42.5%1(sin.f64 re)
42.5%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes10.0ms (0.1%)

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

6 calls:

2.0ms
re
2.0ms
(sin.f64 re)
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
im
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
20.1%1im
20.1%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
20.1%1(sin.f64 re)
20.1%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
20.1%1re
20.1%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes12.0ms (0.1%)

Memory
-24.5MiB live, 19.3MiB allocated; 5ms collecting garbage
Accuracy

Total -2.8b remaining (-5.5%)

Threshold costs -2.8b (-5.5%)

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

6 calls:

4.0ms
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
1.0ms
im
1.0ms
(sin.f64 re)
1.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
re
Results
AccuracySegmentsBranch
20.1%1im
20.1%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
20.1%1re
20.1%1(sin.f64 re)
20.1%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
20.1%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

bsearch1.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch48.0ms (0.5%)

Memory
19.5MiB live, 68.9MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
8.435078545446307e+76
1.9475518685888858e+79
29.0ms
465.46721544179314
2249958170182.6157
Samples
25.0ms272×0valid
Compiler

Compiled 1 222 to 883 computations (27.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sin: 7.0ms (38.3% of total)
ival-exp: 5.0ms (27.4% of total)
ival-mult: 3.0ms (16.4% of total)
ival-add: 1.0ms (5.5% of total)
ival-sub: 1.0ms (5.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch38.0ms (0.4%)

Memory
1.4MiB live, 44.1MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
3.106923489115147e+153
1.3813553199031601e+159
14.0ms
8.435078545446307e+76
1.9475518685888858e+79
2.0ms
465.46721544179314
2249958170182.6157
Samples
23.0ms208×0valid
Compiler

Compiled 1 989 to 1 437 computations (27.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-sin: 5.0ms (39.6% of total)
ival-exp: 3.0ms (23.8% of total)
ival-mult: 3.0ms (23.8% of total)
ival-add: 1.0ms (7.9% of total)
ival-sub: 1.0ms (7.9% 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)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9983215718174582
+inf
0.0ms
-inf
-0.9995365566971202
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.812117127167678e-10
2.1086549987100565e-5
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.016504978544101e-10
4.812117127167678e-10
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0031399110944387468
0.004660133984299464
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0031399110944387468
0.004660133984299464
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.028875233991352858
0.07123856836790841
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.812117127167678e-10
2.1086549987100565e-5
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.812117127167678e-10
2.1086549987100565e-5
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.812117127167678e-10
2.1086549987100565e-5
0.0ms
-0.014207092280228824
1.9620093454229096e-305
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

simplify76.0ms (0.9%)

Memory
25.3MiB live, 112.1MiB allocated; 12ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02151875
13231873
27331861
332731757
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 im #s(literal 680 binary64)) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)) (if (<=.f64 im #s(literal 250000000000000002123405358422425744037217481149690153973749775675699226476544 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))))
(if (<=.f64 im #s(literal 680 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))) (if (<=.f64 im #s(literal 114999999999999997377225245734177625043124954484653241178190190737365693104128 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 1 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 7737125245533627/19342813113834066795298816 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))
Outputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) (*.f64 #s(literal 1/720 binary64) (*.f64 im im))) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)))
(if (<=.f64 im #s(literal 680 binary64)) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)) (if (<=.f64 im #s(literal 250000000000000002123405358422425744037217481149690153973749775675699226476544 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re))))
(if (or (<=.f64 im #s(literal 680 binary64)) (not (<=.f64 im #s(literal 250000000000000002123405358422425744037217481149690153973749775675699226476544 binary64)))) (*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (sin.f64 re)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (pow.f64 (*.f64 re re) #s(literal -1 binary64)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))))
(if (<=.f64 im #s(literal 680 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))) (if (<=.f64 im #s(literal 114999999999999997377225245734177625043124954484653241178190190737365693104128 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 0 binary64)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))))))
(if (<=.f64 im #s(literal 680 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))) (if (<=.f64 im #s(literal 114999999999999997377225245734177625043124954484653241178190190737365693104128 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* re re)) 1) (*.f64 (*.f64 (-.f64 (pow.f64 (*.f64 re re) #s(literal -1 binary64)) #s(literal 1/6 binary64)) re) re)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (sin.f64 re))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 1 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 1 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) #s(literal 1 binary64)) (sin.f64 re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re (*.f64 #s(literal 1 binary64) re))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (fma.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) re) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 7737125245533627/19342813113834066795298816 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 7737125245533627/19342813113834066795298816 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im #s(literal 1/2 binary64)) im (fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re) re) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) im) im)) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) re) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) #s(literal 1/2 binary64)) re) im) im))))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) #s(literal 3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im (neg.f64 im)) (neg.f64 im)) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 3602879701896397/72057594037927936 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (* (sin re) 1/2) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/12 binary64) (*.f64 #s(literal 1/2 binary64) im)) re)) im))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) (if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im 1/2) im) (+ (* (* (* (+ (* (* im im) 1/2) 1) re) re) (+ (* 1/120 (* re re)) -1/6)) 1)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) (*.f64 re re) #s(literal 1 binary64))) re)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (* (+ (* -1/6 (* re re)) 1) (+ (* (* im im) 1/2) 1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/12 binary64) #s(literal -1/6 binary64)) re) re)) re))) #s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* im im) 1/2) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) (*.f64 #s(approx (+ (* (* 1/2 im) im) 1) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) #s(approx (* (+ (* (* 1/2 im) im) 1) (sin re)) #s(approx (* (* (* (sin re) 1/2) im) im) (*.f64 (*.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))))

derivations1.8s (20.8%)

Memory
-34.5MiB live, 1 269.2MiB allocated; 162ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02951638
112441476
256991467
085831334
01127
01824
16422
248020
0608020
02055
02850
110448
070548
02621387
111031273
247111256
083321140
049353
077340
1296334
02133334
0118362
1455330
21902319
08251289
0147592
1636518
22566494
08269449
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 1 904 to 219 computations (88.5% saved)

preprocess142.0ms (1.6%)

Memory
1.6MiB live, 188.1MiB allocated; 20ms collecting garbage
Remove

(negabs re)

(abs im)

Compiler

Compiled 3 872 to 500 computations (87.1% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...