math.cos on complex, real part

Time bar (total: 7.3s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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 13 to 12 computations (7.7% saved)

sample1.5s (20.2%)

Memory
59.6MiB live, 1 928.7MiB allocated; 461ms collecting garbage
Samples
1.1s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 789.0ms
ival-cos: 277.0ms (35.1% of total)
ival-mult: 243.0ms (30.8% of total)
ival-exp: 156.0ms (19.8% of total)
ival-add: 55.0ms (7% of total)
ival-neg: 41.0ms (5.2% of total)
ival-true: 6.0ms (0.8% of total)
exact: 5.0ms (0.6% of total)
ival-assert: 3.0ms (0.4% of total)
adjust: 2.0ms (0.3% of total)
Bogosity

explain316.0ms (4.3%)

Memory
46.9MiB live, 378.2MiB allocated; 172ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 im)
00-0-(neg.f64 im)
00-0-(exp.f64 (neg.f64 im))
00-0-(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
00-0-(cos.f64 re)
00-0-im
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
00-0-re
00-0-#s(literal 1/2 binary64)
00-0-(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
115.0ms512×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 99.0ms
ival-cos: 73.0ms (74% of total)
ival-exp: 13.0ms (13.2% of total)
ival-mult: 6.0ms (6.1% of total)
ival-add: 2.0ms (2% of total)
ival-neg: 2.0ms (2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess255.0ms (3.5%)

Memory
-25.3MiB live, 178.3MiB allocated; 137ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02557
111055
231855
3119933
4702833
01011
01711
14411
212711
352811
424847
090397
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1 binary64))
Symmetry

(abs im)

(abs re)

Compiler

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify133.0ms (1.8%)

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

Found 4 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01033
01733
14433
212733
352833
4248427
0903927
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cos.f64 re)
re
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize34.0ms (0.5%)

Memory
1.1MiB live, 46.0MiB allocated; 6ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy0.0
(cos.f64 re)
accuracy0.00390625
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Samples
23.0ms256×0valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-cos: 6.0ms (39.2% of total)
ival-exp: 3.0ms (19.6% of total)
ival-mult: 3.0ms (19.6% of total)
ival-add: 1.0ms (6.5% of total)
ival-neg: 1.0ms (6.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
10.8MiB live, 10.8MiB allocated; 0ms collecting garbage
Counts
6 → 34
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(exp.f64 im)
(exp.f64 (neg.f64 im))
Outputs
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(cos re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 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)))
(exp im)
(exp (neg im))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
(exp (* -1 im))
Calls

6 calls:

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

simplify123.0ms (1.7%)

Memory
17.5MiB live, 209.1MiB allocated; 22ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0119387
1439355
21768346
36979346
08096312
Stop Event
iter limit
node limit
Counts
34 → 34
Calls
Call 1
Inputs
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(cos re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 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)))
(exp im)
(exp (neg im))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
(exp (* -1 im))
Outputs
(* 1/2 (+ (exp im) (exp (neg im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/4 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64) (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 re re)) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 re re)) #s(literal 1/2 binary64))) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* 1/2 (cos re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(cos re)
(cos.f64 re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos 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)) (cos.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im #s(literal 1 binary64)) (cos.f64 re)))
2
#s(literal 2 binary64)
(+ 2 (pow im 2))
(fma.f64 im im #s(literal 2 binary64))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 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 (neg im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp im)
(exp.f64 im)
(exp (neg im))
(exp.f64 (neg.f64 im))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp (* -1 im))
(exp.f64 (neg.f64 im))

rewrite356.0ms (4.9%)

Memory
-0.3MiB live, 398.7MiB allocated; 239ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01028
01728
15724
240822
3474322
0828422
Stop Event
iter limit
node limit
iter limit
Counts
6 → 406
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(exp.f64 im)
(exp.f64 (neg.f64 im))
Outputs
(*.f64 (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (cos.f64 re)) #s(literal 1/2 binary64)) (-.f64 (pow.f64 (exp.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 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (cos.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 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 im) #s(literal -4 binary64))))
(*.f64 (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (-.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.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 (cos.f64 re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(*.f64 (*.f64 (*.f64 (cos.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 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (/.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 re) #s(literal 2 binary64)) (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 #s(literal 2 binary64) im))) (*.f64 (cos.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 (cos.f64 re) #s(literal 1/2 binary64))) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im)))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(/.f64 (*.f64 (*.f64 (cos.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 (cos.f64 re) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))))) (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 2 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))))
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (cos.f64 re)) #s(literal 1/2 binary64))) (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.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 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))) (neg.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (cos.f64 re)) #s(literal 1/2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.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 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) #s(literal 1/2 binary64))) (cos.f64 re)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 (cos.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 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (cos.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) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 (*.f64 (cos.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)) (cos.f64 re)))
(fma.f64 (/.f64 (*.f64 (cos.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)))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 (*.f64 (cos.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)))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 (*.f64 (cos.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)))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 re))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) (*.f64 #s(literal 1 binary64) (cosh.f64 im))))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (cosh.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 (cosh.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 (cosh.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 (cosh.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (cosh.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cos.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)) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (cosh.f64 im) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (exp.f64 im) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) (cosh.f64 im)) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im))))
(fma.f64 (cos.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (cos.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 (cos.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)) (*.f64 (*.f64 (cos.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) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))) (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.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)) (cos.f64 re)) (*.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 #s(literal -1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64))) (cos.f64 re)))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) (cos.f64 re))) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (exp.f64 im) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 #s(literal -1/2 binary64) (*.f64 (exp.f64 im) (cos.f64 re))))
(-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im)))
(+.f64 (fma.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re) (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 #s(literal 1 binary64) (cosh.f64 im))) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) (*.f64 #s(literal 1 binary64) (cosh.f64 im))))
(+.f64 (*.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (+.f64 (cosh.f64 im) (exp.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (cos.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)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))) (*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (-.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re)) (exp.f64 im))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (fma.f64 (*.f64 (sinh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (fma.f64 (sinh.f64 (neg.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 (*.f64 (cos.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)) (cos.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (neg.f64 (exp.f64 im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 re))) (exp.f64 im)))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (exp.f64 im)) (cos.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (cos.f64 re)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (-.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal 1 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (-.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 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (-.f64 (pow.f64 (exp.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 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (+.f64 (pow.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.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 im) #s(literal -4 binary64))))
(*.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1 binary64) (cosh.f64 (/.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1 binary64) (cosh.f64 (/.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 2 binary64))) #s(literal 1 binary64)))
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (pow.f64 (-.f64 (sinh.f64 im) (exp.f64 im)) #s(literal 2 binary64))) (+.f64 (cosh.f64 im) (-.f64 (sinh.f64 im) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (pow.f64 (sinh.f64 im) #s(literal 2 binary64))) (+.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 im)))
(/.f64 (-.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (pow.f64 (sinh.f64 im) #s(literal 2 binary64))) (-.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)) (pow.f64 (sinh.f64 im) #s(literal 2 binary64))) (-.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (sinh.f64 im)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 2 binary64))) (-.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 2 binary64)) (pow.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) #s(literal 2 binary64))) (-.f64 (cosh.f64 im) (-.f64 (exp.f64 im) (sinh.f64 im))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (+.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (fma.f64 (sinh.f64 im) (sinh.f64 im) (*.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (-.f64 (sinh.f64 im) (exp.f64 im)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (+.f64 (pow.f64 (-.f64 (sinh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (*.f64 (cosh.f64 im) (-.f64 (sinh.f64 im) (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (+.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (*.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (+.f64 (pow.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 im) #s(literal 2 binary64)) (*.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (sinh.f64 im)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (pow.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) #s(literal 2 binary64)) (*.f64 (cosh.f64 im) (-.f64 (exp.f64 im) (sinh.f64 im))))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 #s(literal 2 binary64) im)))) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))))) (neg.f64 (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)) (*.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (pow.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)) #s(literal 2 binary64)))
(/.f64 (fma.f64 #s(literal 1 binary64) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))))) (*.f64 (exp.f64 (neg.f64 im)) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (fma.f64 #s(literal 1 binary64) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(/.f64 (fma.f64 #s(literal 1 binary64) (neg.f64 (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) #s(literal -1 binary64))) (*.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))
(/.f64 (fma.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) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (neg.f64 (exp.f64 im)) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) #s(literal -1 binary64))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (neg.f64 (exp.f64 im))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (exp.f64 im) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) #s(literal 1 binary64))) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (exp.f64 (neg.f64 im)) (*.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal 1 binary64))) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (exp.f64 (neg.f64 im)) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) #s(literal 1 binary64))) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))
(/.f64 (fma.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(/.f64 (fma.f64 #s(literal -1 binary64) (exp.f64 (neg.f64 im)) (*.f64 (neg.f64 (exp.f64 im)) #s(literal 1 binary64))) (*.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(/.f64 (fma.f64 #s(literal -1 binary64) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (neg.f64 (exp.f64 im)) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (neg.f64 (exp.f64 im)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(/.f64 (fma.f64 #s(literal 1 binary64) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (*.f64 (exp.f64 im) (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))))) (*.f64 (exp.f64 im) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -4 binary64)) (pow.f64 (exp.f64 im) #s(literal 4 binary64))) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -6 binary64)) (pow.f64 (exp.f64 im) #s(literal 6 binary64))) (*.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 4 binary64)) #s(literal 1 binary64)) (pow.f64 (exp.f64 im) #s(literal -4 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -6 binary64)) (pow.f64 (exp.f64 im) #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 #s(literal 2 binary64) im))) (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 9 binary64)) (pow.f64 (exp.f64 im) #s(literal -9 binary64))) (*.f64 (+.f64 (expm1.f64 (*.f64 im #s(literal 6 binary64))) (pow.f64 (exp.f64 im) #s(literal -6 binary64))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (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 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im)))) (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(neg.f64 (/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im)))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(neg.f64 (/.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))))))
(neg.f64 (/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -3 binary64) im))) (neg.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))))
(fma.f64 (pow.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) (exp.f64 im))
(fma.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal -1 binary64)) (exp.f64 im))
(fma.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) #s(literal -1 binary64)) (exp.f64 im))
(fma.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))
(fma.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) #s(literal 1 binary64)) (exp.f64 im))
(fma.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (-.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (pow.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.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 im) #s(literal -4 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) (exp.f64 (neg.f64 im)))
(fma.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) (exp.f64 (neg.f64 im)))
(fma.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) (exp.f64 im))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (-.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal 1 binary64)) (/.f64 (neg.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (-.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 (neg.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (-.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (+.f64 (pow.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 3 binary64)) (pow.f64 (exp.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 im) #s(literal -4 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) (exp.f64 im))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -3/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3/2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3/2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)) (/.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (neg.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(fma.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 (exp.f64 im)) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))
(fma.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (exp.f64 im)) (exp.f64 im))
(fma.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 im) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (neg.f64 im)))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (exp.f64 im) (exp.f64 im))
(fma.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (exp.f64 im))
(fma.f64 #s(literal 1 binary64) (exp.f64 im) (exp.f64 (neg.f64 im)))
(fma.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)) (exp.f64 im))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (-.f64 (exp.f64 im) (sinh.f64 im)))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (cosh.f64 im))
(fma.f64 (exp.f64 im) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (exp.f64 im) #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 (neg.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (neg.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(fma.f64 (exp.f64 (neg.f64 im)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(fma.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (exp.f64 (neg.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64) (exp.f64 im))
(-.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(-.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(-.f64 (cosh.f64 im) (-.f64 (sinh.f64 im) (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 im) (sinh.f64 im)) (cosh.f64 im))
(+.f64 (+.f64 (cosh.f64 im) (exp.f64 im)) (sinh.f64 (neg.f64 im)))
(+.f64 (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))) (sinh.f64 im))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64))))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (/.f64 (neg.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(+.f64 (sinh.f64 (neg.f64 im)) (+.f64 (cosh.f64 im) (exp.f64 im)))
(+.f64 (sinh.f64 im) (+.f64 (cosh.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (cosh.f64 im) (-.f64 (exp.f64 im) (sinh.f64 im)))
(+.f64 (cosh.f64 im) (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 re))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) #s(literal 2 binary64))) (sin.f64 (-.f64 re (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 re) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 #s(literal 1 binary64) (cos.f64 re))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re)))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re)))) (*.f64 (cos.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re)))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re))))))
(fma.f64 (neg.f64 (sin.f64 re)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(fma.f64 #s(literal 0 binary64) (sin.f64 re) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(fma.f64 (sin.f64 re) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(fma.f64 #s(literal 1 binary64) (cos.f64 re) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 re))))
(fma.f64 #s(literal 1 binary64) (cos.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(fma.f64 (cos.f64 re) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 re))))
(fma.f64 (cos.f64 re) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(-.f64 (*.f64 (sin.f64 (/.f64 (*.f64 re re) (-.f64 re (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 re (/.f64 (PI.f64) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (*.f64 re re) (-.f64 re (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 re (/.f64 (PI.f64) #s(literal 2 binary64)))))))
(-.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 (neg.f64 (cos.f64 re)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re)))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re))))) (*.f64 (cos.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re)))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (*.f64 re re))))))
(+.f64 (*.f64 (neg.f64 (sin.f64 re)) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 re))))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(+.f64 (*.f64 #s(literal 0 binary64) (sin.f64 re)) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(*.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))))
(*.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 (exp.f64 im)) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)))
(*.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))
(*.f64 #s(literal 1 binary64) (exp.f64 im))
(*.f64 (exp.f64 im) #s(literal 1 binary64))
(*.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))
(pow.f64 (*.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)) (pow.f64 (exp.f64 im) #s(literal 3/2 binary64))) #s(literal 2 binary64))
(pow.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 im) #s(literal 3/2 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 im) #s(literal 1 binary64))
(pow.f64 (exp.f64 (neg.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 (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 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.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)))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))))
(/.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 (fabs.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fabs.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.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 (neg.f64 im)) (exp.f64 (neg.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) (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))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))))
(/.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 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 #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 (sinh.f64 im) #s(literal 1 binary64) (*.f64 (cosh.f64 im) #s(literal 1 binary64)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 (sinh.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 im)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 im)))
(sqrt.f64 (pow.f64 (exp.f64 im) #s(literal 2 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 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(fabs.f64 (neg.f64 (exp.f64 im)))
(fabs.f64 (exp.f64 im))
(exp.f64 (fma.f64 im #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) im)))
(exp.f64 (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal 2 binary64) im)))
(exp.f64 (fma.f64 #s(literal -2 binary64) im (*.f64 #s(literal 3 binary64) im)))
(exp.f64 (*.f64 im #s(literal 1 binary64)))
(exp.f64 (/.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 2 binary64)))
(exp.f64 im)
(+.f64 (*.f64 (sinh.f64 im) #s(literal 1 binary64)) (*.f64 (cosh.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 (cosh.f64 im) #s(literal 1 binary64)) (*.f64 (sinh.f64 im) #s(literal 1 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 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))) (/.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im)))))
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))
(*.f64 (pow.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal -1 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 im) (cosh.f64 im))))
(*.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (exp.f64 im)))
(*.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (exp.f64 im))
(*.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.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 (*.f64 (pow.f64 (exp.f64 im) #s(literal -3/2 binary64)) (neg.f64 (exp.f64 im))) #s(literal 2 binary64))
(pow.f64 (*.f64 (pow.f64 (exp.f64 im) #s(literal -3/2 binary64)) (exp.f64 im)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (exp.f64 im) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 (exp.f64 im))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 im) #s(literal -1 binary64))
(pow.f64 (exp.f64 (neg.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 (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 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (neg.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) #s(literal 1 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (exp.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)))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))))
(/.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 (fabs.f64 (+.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fabs.f64 (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(/.f64 (fabs.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (fabs.f64 (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (sinh.f64 im) (exp.f64 im) (pow.f64 (cosh.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 (neg.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))) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))))
(/.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 #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 #s(literal 1 binary64) (sinh.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 (neg.f64 im))))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (sinh.f64 (neg.f64 im)))
(fma.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64) (*.f64 (cosh.f64 im) #s(literal 1 binary64)))
(fma.f64 (cosh.f64 im) #s(literal 1 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 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(sqrt.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)))
(-.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 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (fma.f64 (sinh.f64 im) (exp.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) (exp.f64 im) (pow.f64 (cosh.f64 im) #s(literal 2 binary64)))))
(-.f64 (cosh.f64 im) (sinh.f64 im))
(fabs.f64 (-.f64 (sinh.f64 im) (cosh.f64 im)))
(fabs.f64 (/.f64 #s(literal -1 binary64) (exp.f64 im)))
(fabs.f64 (exp.f64 (neg.f64 im)))
(exp.f64 (fma.f64 #s(literal -2 binary64) im im))
(exp.f64 (fma.f64 #s(literal -3 binary64) im (*.f64 #s(literal 2 binary64) im)))
(exp.f64 (*.f64 (*.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)))
(exp.f64 (/.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 2 binary64)))
(exp.f64 (*.f64 im #s(literal -1 binary64)))
(exp.f64 (neg.f64 im))
(+.f64 (cosh.f64 (*.f64 im #s(literal -1 binary64))) (sinh.f64 (*.f64 im #s(literal -1 binary64))))
(+.f64 (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)) (*.f64 (cosh.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 (cosh.f64 im) #s(literal 1 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.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 (neg.f64 im))))
(+.f64 (/.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))) (/.f64 (pow.f64 (sinh.f64 im) #s(literal 3 binary64)) (-.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) im)) (*.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)))))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))

eval72.0ms (1%)

Memory
-36.5MiB live, 145.4MiB allocated; 44ms collecting garbage
Compiler

Compiled 9 981 to 1 437 computations (85.6% saved)

prune7.0ms (0.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New4334437
Fresh000
Picked101
Done000
Total4344438
Accuracy
100.0%
Counts
438 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
77.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
46.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
89.8%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
Compiler

Compiled 63 to 50 computations (20.6% saved)

simplify125.0ms (1.7%)

Memory
-17.7MiB live, 175.7MiB allocated; 23ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
028155
042151
197151
2289145
31206137
47954137
08002135
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
(cos.f64 re)
re
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
#s(literal 1 binary64)
(cosh.f64 im)
im
(cos.f64 re)
re
Outputs
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)) (cos.f64 re)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)) (cos.f64 re))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal 1/2 binary64)
(cos.f64 re)
re
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(cos.f64 re)
re
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(cosh.f64 im)
#s(literal 1 binary64)
(cosh.f64 im)
im
(cos.f64 re)
re

localize105.0ms (1.4%)

Memory
29.8MiB live, 127.9MiB allocated; 9ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
accuracy0.0
(cosh.f64 im)
accuracy0.0
(cos.f64 re)
accuracy0.00390625
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
accuracy0.0
(cos.f64 re)
accuracy0.00390625
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
accuracy14.434194081427279
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
accuracy0.0
(cos.f64 re)
accuracy0.00390625
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
accuracy34.17068812475964
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0.0234375
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
accuracy0.02734375
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
accuracy0.0859375
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy6.539108630949751
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
Samples
62.0ms256×0valid
Compiler

Compiled 132 to 25 computations (81.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
ival-mult: 14.0ms (29.6% of total)
ival-cosh: 14.0ms (29.6% of total)
ival-cos: 6.0ms (12.7% of total)
ival-add: 4.0ms (8.5% of total)
const: 4.0ms (8.5% of total)
ival-exp: 3.0ms (6.3% of total)
ival-neg: 1.0ms (2.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series17.0ms (0.2%)

Memory
-15.1MiB live, 29.3MiB allocated; 6ms collecting garbage
Counts
13 → 50
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(cosh.f64 im)
Outputs
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (+ (* -1/2 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (pow im 2))))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* 1/24 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2)))))))))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (+ 1/2 (* 1/24 (pow im 2))))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* (cos re) (+ 1/2 (* 1/24 (pow im 2))))
(* 1/2 (cos re))
(cos re)
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (* (pow im 2) (cos re)))
(* (pow im 2) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(+ (exp im) (exp (neg im)))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
re
@0
((+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (* im im) 1/24) 1/2) (cos re)) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cosh im))
3.0ms
re
@inf
((+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (* im im) 1/24) 1/2) (cos re)) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cosh im))
3.0ms
im
@inf
((+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (* im im) 1/24) 1/2) (cos re)) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cosh im))
2.0ms
im
@-inf
((+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (* im im) 1/24) 1/2) (cos re)) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cosh im))
2.0ms
re
@-inf
((+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (+ (* (* im im) 1/24) 1/2) (cos re)) (+ (* (* im im) 1/24) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (exp (neg im)) (exp im)) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cosh im))

simplify243.0ms (3.3%)

Memory
6.2MiB live, 237.8MiB allocated; 59ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0190879
1737797
22958759
08855684
Stop Event
iter limit
node limit
Counts
50 → 50
Calls
Call 1
Inputs
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (+ (* -1/2 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (pow im 2))))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* 1/24 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2)))))))))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (+ 1/2 (* 1/24 (pow im 2))))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* (cos re) (+ 1/2 (* 1/24 (pow im 2))))
(* 1/2 (cos re))
(cos re)
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (* (pow im 2) (cos re)))
(* (pow im 2) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(+ (exp im) (exp (neg im)))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Outputs
(+ 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 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 re 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)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re 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)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(fma.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/720 binary64) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 1/720 binary64)) (*.f64 re re) (fma.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 im im) #s(literal 1/48 binary64)) (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 re re) (-.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 im im)) #s(literal 1/2 binary64))) (*.f64 re 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)))
(* 1/2 (+ (exp im) (exp (neg im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))))
(+ 1/2 (* 1/24 (pow im 2)))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(+ 1/2 (+ (* -1/2 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (pow im 2))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* 1/24 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2)))))))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64))) (*.f64 re re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))
(+ 1/2 (+ (* 1/24 (pow im 2)) (* (pow re 2) (+ (* -1/2 (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (+ (* -1/720 (* (pow re 2) (+ 1/2 (* 1/24 (pow im 2))))) (* 1/24 (+ 1/2 (* 1/24 (pow im 2))))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64))) (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/4 (pow re 2)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) re) re) #s(literal 1/2 binary64)) (*.f64 re re) #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/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(* 1/2 (* (cos 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))) (cos.f64 re))
(* (cos re) (+ 1/2 (* 1/24 (pow im 2))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (cos.f64 re))
(* 1/2 (cos re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(cos re)
(cos.f64 re)
(* 1/2 (* (cos 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))) (cos.f64 re))
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(fma.f64 (*.f64 (cos.f64 re) (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) (cos.f64 re))
(+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))
(*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (cos.f64 re))
2
#s(literal 2 binary64)
(+ 2 (pow im 2))
(fma.f64 im im #s(literal 2 binary64))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 binary64)))
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/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/24 (* (pow im 4) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(*.f64 (fma.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64)) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(* 1/24 (* (pow im 2) (cos re)))
(*.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) (cos.f64 re)) im) im)
(* (pow im 2) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64))) (*.f64 im im))
(* 1/24 (pow im 2))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(+ (exp im) (exp (neg im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (cos 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))) (cos.f64 re))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite88.0ms (1.2%)

Memory
-24.5MiB live, 81.4MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028124
042120
1152110
01074110
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
13 → 123
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(cosh.f64 im)
Outputs
(/.f64 (-.f64 (pow.f64 (cos.f64 re) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 (cos.f64 re) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 (cos.f64 re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im))) (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 (cos.f64 re) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 (cos.f64 re) #s(literal 3 binary64))) (fma.f64 (cos.f64 re) (cos.f64 re) (-.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 (cos.f64 re) #s(literal 3 binary64))) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im))) (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (fabs.f64 im)) (fabs.f64 im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (neg.f64 im)) (neg.f64 im) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (cos.f64 re) im) im) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im)) im (cos.f64 re))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))) (cos.f64 re))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re))
(fma.f64 (cos.f64 re) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im)) (cos.f64 re))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(fma.f64 (*.f64 im im) (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (cos.f64 re))
(fma.f64 im (*.f64 (cos.f64 re) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im)) (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (neg.f64 (*.f64 (cos.f64 re) (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im))) im))
(-.f64 (cos.f64 re) (*.f64 (neg.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))) (*.f64 im im)))
(-.f64 (cos.f64 re) (*.f64 (neg.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 re) im) im)))
(-.f64 (cos.f64 re) (*.f64 (neg.f64 (*.f64 im im)) (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 3 binary64)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im))) (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 re) #s(literal 3 binary64)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im))) (pow.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)))
(*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (cos.f64 re))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)) (cos.f64 re)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (cos.f64 re)) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64))) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (cos.f64 re) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 re) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 re) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (cos.f64 re)))
(fma.f64 (cos.f64 re) #s(literal 1/2 binary64) (*.f64 (cos.f64 re) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(fma.f64 #s(literal 1/2 binary64) (cos.f64 re) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (cos.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (cos.f64 re)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) (*.f64 (cos.f64 re) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 im (*.f64 #s(literal 1/24 binary64) im) #s(literal 1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/24 binary64) (*.f64 im im)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal 1/24 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/24 binary64) im)))
(+.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) (cos.f64 re)))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(literal 1/2 binary64)) (cos.f64 re))
(*.f64 (*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (cos.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (*.f64 (cos.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 (cos.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) (cos.f64 re)))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im 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 (/.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) (cos.f64 re)) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (cos.f64 re)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (cos.f64 re)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (cos.f64 re)) #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 (/.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)))

eval29.0ms (0.4%)

Memory
31.5MiB live, 77.9MiB allocated; 2ms collecting garbage
Compiler

Compiled 5 704 to 675 computations (88.2% saved)

prune17.0ms (0.2%)

Memory
13.3MiB live, 57.1MiB allocated; 4ms collecting garbage
Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New19414208
Fresh000
Picked224
Done000
Total19616212
Accuracy
100.0%
Counts
212 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.5%
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
77.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
46.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
100.0%
(*.f64 (cosh.f64 im) (cos.f64 re))
92.9%
(*.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))) (cos.f64 re))
33.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
33.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
29.9%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
47.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
25.3%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
66.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.f64 re)))
56.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
35.4%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re 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)))))
89.8%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
Compiler

Compiled 805 to 559 computations (30.6% saved)

simplify232.0ms (3.2%)

Memory
-27.3MiB live, 203.1MiB allocated; 35ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

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

Useful iterations: 3 (0.0ms)

IterNodesCost
043251
063245
1134245
2392235
31627227
08638227
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(cosh.f64 im)
im
(cos.f64 re)
re
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
#s(literal 1/48 binary64)
(*.f64 re re)
re
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
#s(literal 1 binary64)
(cosh.f64 im)
im
#s(approx (cos re) #s(literal 1 binary64))
Outputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(cosh.f64 im)
im
(cos.f64 re)
re
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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)))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
#s(literal 1/24 binary64)
(*.f64 im im)
im
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
#s(literal 1/48 binary64)
(*.f64 re re)
re
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(cosh.f64 im)
#s(literal 1 binary64)
(cosh.f64 im)
im
#s(approx (cos re) #s(literal 1 binary64))

localize182.0ms (2.5%)

Memory
13.6MiB live, 312.9MiB allocated; 30ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
accuracy0.0
(cosh.f64 im)
accuracy0.00390625
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
accuracy29.172163989655385
#s(approx (cos re) #s(literal 1 binary64))
accuracy0.046875
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
accuracy0.16015625
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
accuracy14.434194081427279
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy31.80809484842594
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy0.0390625
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
accuracy0.0859375
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
accuracy6.539108630949751
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
accuracy24.190972825704254
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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)))
accuracy0.00390625
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
accuracy29.171816587532135
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy34.17068812475964
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0.0
(cosh.f64 im)
accuracy0.0
(cos.f64 re)
accuracy0.00390625
(*.f64 (cosh.f64 im) (cos.f64 re))
Samples
120.0ms256×0valid
Compiler

Compiled 168 to 37 computations (78% saved)

Precisions
Click to see histograms. Total time spent on operations: 73.0ms
ival-cos: 27.0ms (37% of total)
ival-mult: 21.0ms (28.8% of total)
ival-add: 8.0ms (11% of total)
const: 8.0ms (11% of total)
ival-exp: 3.0ms (4.1% of total)
ival-cosh: 3.0ms (4.1% of total)
ival-sub: 1.0ms (1.4% of total)
exact: 1.0ms (1.4% of total)
ival-neg: 1.0ms (1.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series42.0ms (0.6%)

Memory
7.0MiB live, 53.0MiB allocated; 3ms collecting garbage
Counts
19 → 53
Calls
Call 1
Inputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(cosh.f64 im)
(cos.f64 re)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
#s(approx (cos re) #s(literal 1 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
Outputs
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
-1/4
(- (* 1/48 (pow re 2)) 1/4)
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(cos re)
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/48 (pow re 4))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ (exp im) (exp (neg im)))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (pow im 4))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
im
@inf
((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (+ (* 1/24 (* im im)) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* 1/48 (* re re)))
3.0ms
re
@inf
((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (+ (* 1/24 (* im im)) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* 1/48 (* re re)))
3.0ms
re
@-inf
((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (+ (* 1/24 (* im im)) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* 1/48 (* re re)))
2.0ms
im
@-inf
((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (+ (* 1/24 (* im im)) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* 1/48 (* re re)))
1.0ms
re
@0
((* (cosh im) (cos re)) (cosh im) (cos re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (+ (* 1/24 (* im im)) 1/2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (- (* 1/48 (* re re)) 1/4) (* re re)) 1/2) (- (* 1/48 (* re re)) 1/4) (* 1 (cosh im)) (* (* 1 (cosh im)) (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (* 1/48 (* re re)))

simplify185.0ms (2.5%)

Memory
-11.4MiB live, 215.7MiB allocated; 43ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0188819
1690767
22531728
08349666
Stop Event
iter limit
node limit
Counts
53 → 53
Calls
Call 1
Inputs
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
-1/4
(- (* 1/48 (pow re 2)) 1/4)
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(cos re)
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/48 (pow re 4))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ (exp im) (exp (neg im)))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (pow im 4))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Outputs
(* 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/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64)) #s(literal 1/2 binary64))) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 (+ (exp im) (exp (neg im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/4 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/48 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (-.f64 (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/720 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 1/720 binary64)) (*.f64 re re)) (*.f64 re re) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64))) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
-1/4
#s(literal -1/4 binary64)
(- (* 1/48 (pow re 2)) 1/4)
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(* 1/48 (pow re 2))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(* 1/2 (* (cos 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))) (cos.f64 re))
(cos re)
(cos.f64 re)
(* 1/2 (* (cos 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))) (cos.f64 re))
(* 1/2 (cos re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(* 1/48 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (-.f64 #s(literal 1/48 binary64) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 2) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (*.f64 (-.f64 #s(literal 1/48 binary64) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) re) re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(fma.f64 (*.f64 (cos.f64 re) (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) (cos.f64 re))
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/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))
2
#s(literal 2 binary64)
(+ 2 (pow im 2))
(fma.f64 im im #s(literal 2 binary64))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 binary64)))
(+ 1/2 (* 1/24 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(+ (exp im) (exp (neg im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/24 (* (pow im 4) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(*.f64 (fma.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64)) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(* 1/24 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(fma.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64))
(* 1/24 (pow im 2))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(* 1/2 (* (cos 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))) (cos.f64 re))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite179.0ms (2.5%)

Memory
27.7MiB live, 268.0MiB allocated; 53ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043223
063217
1238207
21603207
08737205
Stop Event
iter limit
node limit
iter limit
Counts
19 → 234
Calls
Call 1
Inputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(cosh.f64 im)
(cos.f64 re)
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
#s(approx (cos re) #s(literal 1 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
Outputs
(*.f64 (*.f64 (cos.f64 re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) (cos.f64 re)))
(*.f64 (cosh.f64 im) (cos.f64 re))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (cos.f64 re))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (cos.f64 re)) #s(literal 2 binary64))
(+.f64 (/.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 2 binary64)) (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) #s(literal 2 binary64)) (/.f64 (*.f64 (exp.f64 im) (cos.f64 re)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (exp.f64 im)) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 re) (exp.f64 im)) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (sinh.f64 (neg.f64 im)))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))) (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.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 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal 2 binary64))
(/.f64 (fma.f64 (exp.f64 im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 im))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 #s(literal 0 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(/.f64 #s(literal 0 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 (neg.f64 im))))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(-.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 im) #s(literal 2 binary64)))
(-.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)) (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)))
(-.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (sinh.f64 im) (exp.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 2 binary64)))
(+.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))) (/.f64 (*.f64 (neg.f64 (exp.f64 im)) (exp.f64 im)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(+.f64 (/.f64 (+.f64 (exp.f64 im) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (+.f64 (sinh.f64 im) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)))
(+.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (+.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 2 binary64)))
(+.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 (pow.f64 (*.f64 (sin.f64 re) #s(literal 0 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 re) #s(literal 0 binary64)) (*.f64 (sin.f64 re) #s(literal 0 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 re) #s(literal 1 binary64)) (*.f64 (cos.f64 re) #s(literal 1 binary64))) (*.f64 (*.f64 (sin.f64 re) #s(literal 0 binary64)) (*.f64 (cos.f64 re) #s(literal 1 binary64))))))
(fma.f64 (neg.f64 (sin.f64 re)) #s(literal 0 binary64) (*.f64 (cos.f64 re) #s(literal 1 binary64)))
(fma.f64 (sin.f64 re) #s(literal 0 binary64) (*.f64 (cos.f64 re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 re)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 re))))
(cos.f64 (neg.f64 (neg.f64 re)))
(cos.f64 (neg.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (neg.f64 (sin.f64 re)) #s(literal 0 binary64)) (*.f64 (cos.f64 re) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 re)) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) #s(literal 0 binary64)) (*.f64 (cos.f64 re) #s(literal 1 binary64)))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) #s(literal 3 binary64)) (pow.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) (-.f64 (*.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64)) (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64))) (*.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal 1 binary64))) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(/.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(-.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))))
(+.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))) (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)))))
(+.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64)) (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))))
(+.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))) (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (-.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))) (*.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) im) im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (neg.f64 (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) (*.f64 (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) #s(literal 1/8 binary64))) (*.f64 (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) im) im)))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im))) im #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) im)) im #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 im (fabs.f64 (*.f64 (neg.f64 im) #s(literal 1/24 binary64))) #s(literal 1/2 binary64))
(fma.f64 im (fabs.f64 (*.f64 #s(literal 1/24 binary64) im)) #s(literal 1/2 binary64))
(fma.f64 im (*.f64 #s(literal 1/24 binary64) im) #s(literal 1/2 binary64))
(-.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) im) im))) (/.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) im) im))))
(-.f64 (/.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/24 binary64) im)) im))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal 1/24 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/24 binary64) (*.f64 im im)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/24 binary64) im)))
(+.f64 (/.f64 #s(literal 1/8 binary64) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) im) im) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) im) im))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (-.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))) (*.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (neg.f64 (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))) (*.f64 (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))) #s(literal 1/8 binary64))) (*.f64 (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) #s(literal 1/8 binary64)) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re))) (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re))))
(-.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))))
(+.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))) (/.f64 #s(literal 1/8 binary64) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))))
(+.f64 (/.f64 #s(literal 1/8 binary64) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))) (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64)))))))
(+.f64 (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)) #s(literal 1/16 binary64)))) (neg.f64 (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/110592 binary64) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/64 binary64)))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) #s(literal 1/16 binary64))) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/110592 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)))) (*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64))) #s(literal 1/64 binary64))) (*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)) #s(literal 1/16 binary64))) (neg.f64 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/110592 binary64) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/64 binary64))) (neg.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)) #s(literal 1/16 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/110592 binary64) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/64 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64))))
(-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))) (/.f64 #s(literal 1/16 binary64) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(-.f64 (/.f64 (*.f64 #s(literal 1/110592 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)))) (/.f64 #s(literal 1/64 binary64) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64) (fma.f64 (*.f64 re re) #s(literal 1/192 binary64) #s(literal 1/16 binary64)))))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(*.f64 (/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) (sinh.f64 (neg.f64 im)))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(/.f64 (+.f64 (pow.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))) (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.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 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal 2 binary64))
(/.f64 (fma.f64 (exp.f64 im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 im))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 #s(literal 0 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(/.f64 #s(literal 0 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 (neg.f64 im))))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(-.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))) (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 im) #s(literal 2 binary64)))
(-.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)) (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 2 binary64)))
(-.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (sinh.f64 im) (exp.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 2 binary64)) (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 2 binary64)))
(+.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)))
(+.f64 (/.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))) (/.f64 (*.f64 (neg.f64 (exp.f64 im)) (exp.f64 im)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(+.f64 (/.f64 (+.f64 (exp.f64 im) (cosh.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (+.f64 (sinh.f64 im) (exp.f64 (neg.f64 im))) #s(literal 2 binary64)))
(+.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (+.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 2 binary64)))
(+.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(approx (cos re) #s(literal 1 binary64)) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (cos re) #s(literal 1 binary64))) (cosh.f64 im))
(*.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)) #s(literal 1 binary64))
(*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) #s(approx (cos re) #s(literal 1 binary64))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
#s(approx (cos re) #s(literal 1 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re))) re)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/48 binary64) re)) re)
(*.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/48 binary64) re) re)
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/48 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 re (fabs.f64 (*.f64 (neg.f64 re) #s(literal 1/48 binary64))))
(*.f64 re (fabs.f64 (*.f64 #s(literal 1/48 binary64) re)))
(*.f64 re (*.f64 #s(literal 1/48 binary64) re))
(sqrt.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2304 binary64)))
(fabs.f64 (neg.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64))))
(fabs.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)))

eval87.0ms (1.2%)

Memory
-19.9MiB live, 68.1MiB allocated; 26ms collecting garbage
Compiler

Compiled 10 455 to 1 161 computations (88.9% saved)

prune23.0ms (0.3%)

Memory
6.2MiB live, 51.4MiB allocated; 6ms collecting garbage
Pruning

21 alts after pruning (17 fresh and 4 done)

PrunedKeptTotal
New26912281
Fresh459
Picked325
Done022
Total27621297
Accuracy
100.0%
Counts
297 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.6%
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64)))
77.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
46.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
100.0%
(*.f64 (cosh.f64 im) (cos.f64 re))
65.5%
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
92.9%
(*.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))) (cos.f64 re))
33.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
33.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
29.9%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
49.0%
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
47.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
25.3%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
66.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.f64 re)))
56.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
35.4%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
56.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
56.5%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
89.8%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
34.2%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
Compiler

Compiled 1 187 to 796 computations (32.9% saved)

simplify167.0ms (2.3%)

Memory
-24.7MiB live, 274.4MiB allocated; 46ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
051363
078354
1164354
2493344
32092336
08442333
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.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))) (cos.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)
(cos.f64 re)
re
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) im)
#s(literal 1/24 binary64)
im
#s(literal 1/2 binary64)
(*.f64 im im)
#s(literal 1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))
#s(literal 1/2 binary64)
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))
(neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
(*.f64 re re)
re
#s(literal 1/48 binary64)
#s(literal 1/4 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(cosh.f64 im)
im
#s(approx (cos re) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(*.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))) (cos.f64 re))
(*.f64 (cos.f64 re) #s(approx (* 1 (cosh im)) (fma.f64 (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)) (*.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)))
#s(approx (* 1 (cosh im)) (fma.f64 (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)) (*.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 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #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 (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 #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)
(cos.f64 re)
re
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) im)
#s(literal 1/24 binary64)
im
#s(literal 1/2 binary64)
(*.f64 im im)
#s(literal 1 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) (neg.f64 re))
(neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)))
(neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)))
(-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))
(-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 re re)
re
#s(literal 1/48 binary64)
#s(literal 1/4 binary64)
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
im
#s(literal 2 binary64)
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im))
(cosh.f64 im)
im
#s(approx (cos re) #s(literal 1 binary64))
#s(literal 1 binary64)

localize123.0ms (1.7%)

Memory
45.0MiB live, 283.0MiB allocated; 18ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(cosh.f64 im)
accuracy0.00390625
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
accuracy29.172163989655385
#s(approx (cos re) #s(literal 1 binary64))
accuracy0.05859375
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))
accuracy0.16015625
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
accuracy14.434194081427279
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy31.80809484842594
#s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))))
accuracy0.05078125
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
accuracy0.30078125
(*.f64 #s(literal 1/24 binary64) im)
accuracy6.539108630949751
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
accuracy24.190972825704254
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
accuracy0.0
(fma.f64 im im #s(literal 2 binary64))
accuracy0.00390625
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
accuracy14.434194081427279
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy29.171816587532135
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.01171875
(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.05078125
(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.08203125
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
accuracy4.559699383893725
#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)))
Samples
89.0ms256×0valid
Compiler

Compiled 242 to 46 computations (81% saved)

Precisions
Click to see histograms. Total time spent on operations: 68.0ms
ival-mult: 30.0ms (43.8% of total)
ival-add: 10.0ms (14.6% of total)
const: 9.0ms (13.1% of total)
ival-cos: 7.0ms (10.2% of total)
ival-exp: 3.0ms (4.4% of total)
ival-cosh: 3.0ms (4.4% of total)
ival-sub: 2.0ms (2.9% of total)
ival-neg: 2.0ms (2.9% of total)
exact: 1.0ms (1.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series18.0ms (0.2%)

Memory
-8.0MiB live, 38.0MiB allocated; 4ms collecting garbage
Counts
22 → 69
Calls
Call 1
Inputs
(*.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))) (cos.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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))))
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(cosh.f64 im)
#s(approx (cos re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) im)
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
Outputs
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(* 1/4 (pow re 2))
(* (pow re 2) (+ 1/4 (* -1/48 (pow re 2))))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/48 (pow re 4))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(* -1/48 (pow re 4))
(* (pow re 4) (- (* 1/4 (/ 1 (pow re 2))) 1/48))
(cos re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/24 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))))))
(+ (exp im) (exp (neg im)))
(pow im 2)
(* (pow im 2) (+ 1 (* 2 (/ 1 (pow im 2)))))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (pow im 4))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Calls

6 calls:

TimeVariablePointExpression
3.0ms
im
@inf
((* (* 1 (cosh im)) (cos 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 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (+ (* (* 1/24 im) im) 1/2) (- 1/2 (* (neg (- (* (* re re) 1/48) 1/4)) (* re re))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* 1/720 (* im im)) 1/24) (* 1/24 im) (* (* re re) 1/48))
3.0ms
re
@inf
((* (* 1 (cosh im)) (cos 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 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (+ (* (* 1/24 im) im) 1/2) (- 1/2 (* (neg (- (* (* re re) 1/48) 1/4)) (* re re))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* 1/720 (* im im)) 1/24) (* 1/24 im) (* (* re re) 1/48))
3.0ms
im
@-inf
((* (* 1 (cosh im)) (cos 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 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (+ (* (* 1/24 im) im) 1/2) (- 1/2 (* (neg (- (* (* re re) 1/48) 1/4)) (* re re))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* 1/720 (* im im)) 1/24) (* 1/24 im) (* (* re re) 1/48))
2.0ms
re
@-inf
((* (* 1 (cosh im)) (cos 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 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (+ (* (* 1/24 im) im) 1/2) (- 1/2 (* (neg (- (* (* re re) 1/48) 1/4)) (* re re))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* 1/720 (* im im)) 1/24) (* 1/24 im) (* (* re re) 1/48))
1.0ms
re
@0
((* (* 1 (cosh im)) (cos 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 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (exp (neg im)) (exp im)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (+ (* (* 1/24 im) im) 1/2) (- 1/2 (* (neg (- (* (* re re) 1/48) 1/4)) (* re re))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (* (cosh im) (cos re)) (cosh im) (cos re) (+ (* 1/720 (* im im)) 1/24) (* 1/24 im) (* (* re re) 1/48))

simplify264.0ms (3.6%)

Memory
-36.8MiB live, 280.7MiB allocated; 103ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0218965
1799913
22852870
08393801
Stop Event
iter limit
node limit
Counts
69 → 69
Calls
Call 1
Inputs
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(* 1/2 (+ (exp im) (exp (neg im))))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
1/2
(+ 1/2 (* -1/4 (pow re 2)))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(* 1/4 (pow re 2))
(* (pow re 2) (+ 1/4 (* -1/48 (pow re 2))))
1
(+ 1 (* -1/2 (pow re 2)))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(* 1/48 (pow re 2))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(* 1/2 (cos re))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(* 1/48 (pow re 4))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(* -1/48 (pow re 4))
(* (pow re 4) (- (* 1/4 (/ 1 (pow re 2))) 1/48))
(cos re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ 1/2 (* 1/24 (pow im 2)))
(+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))
2
(+ 2 (pow im 2))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
1/24
(+ 1/24 (* 1/720 (pow im 2)))
(* 1/24 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))))))
(+ (exp im) (exp (neg im)))
(pow im 2)
(* (pow im 2) (+ 1 (* 2 (/ 1 (pow im 2)))))
(* 1/24 (* (pow im 4) (cos re)))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(* 1/24 (pow im 4))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(* 1/24 (pow im 2))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(* 1/720 (pow im 2))
(* (pow im 2) (+ 1/720 (* 1/24 (/ 1 (pow im 2)))))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Outputs
(* 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/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* 1/48 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/48 (+ (exp im) (/ 1 (exp im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
(* 1/2 (+ (exp im) (exp (neg im))))
(fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/2 (+ (exp im) (exp (neg im)))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* 1/48 (* (pow re 2) (+ (exp im) (exp (neg im))))))))
(fma.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) (fma.f64 (exp.f64 im) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(+ (* 1/2 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/4 (+ (exp im) (exp (neg im)))) (* (pow re 2) (+ (* -1/1440 (* (pow re 2) (+ (exp im) (exp (neg im))))) (* 1/48 (+ (exp im) (exp (neg im)))))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/4 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* 1/48 (pow re 2)) 1/4)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/48 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/2))))
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))) 1/2))))
(fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(+ 1 (+ (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))) (* (pow re 2) (- (+ (* -1/2 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (+ 1/24 (+ (* 1/24 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) (* (pow re 2) (- (* -1/720 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2))))) 1/720)))))) 1/2))))
(fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/720 binary64) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) (*.f64 im im)) #s(literal 1/720 binary64)) (*.f64 re re)) (*.f64 re re) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64))))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(* 1/4 (pow re 2))
(*.f64 #s(literal 1/4 binary64) (*.f64 re re))
(* (pow re 2) (+ 1/4 (* -1/48 (pow re 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 re re) #s(literal 1/4 binary64)) re) re)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow re 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* 1/24 (pow re 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/24 (* -1/720 (pow re 2)))) 1/2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/720 binary64)) #s(literal 1/2 binary64))) (*.f64 re re) #s(literal 1 binary64))
(* 1/48 (pow re 2))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(* 1/2 (* (cos 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))) (cos.f64 re))
(* 1/2 (* (cos 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))) (cos.f64 re))
(* 1/2 (cos re))
(*.f64 (cos.f64 re) #s(literal 1/2 binary64))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 1/2 (* 1/24 (pow im 2))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(* 1/48 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/48 binary64))
(* (pow re 4) (- 1/48 (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (-.f64 #s(literal 1/48 binary64) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 4) (- (+ 1/48 (/ 1/2 (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (pow.f64 re #s(literal 4 binary64)))
(* -1/48 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/48 binary64))
(* (pow re 4) (- (* 1/4 (/ 1 (pow re 2))) 1/48))
(*.f64 (-.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 re re)) #s(literal 1/48 binary64)) (pow.f64 re #s(literal 4 binary64)))
(cos re)
(cos.f64 re)
(+ (cos re) (* 1/2 (* (pow im 2) (cos re))))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (cos re))) (* 1/2 (cos re)))))
(*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))
(+ (cos re) (* (pow im 2) (+ (* 1/2 (cos re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (cos re))) (* 1/24 (cos re)))))))
(fma.f64 (*.f64 (cos.f64 re) (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) (cos.f64 re))
(+ 1 (* 1/2 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow im 2) (+ 1/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 (* 1/24 (pow im 2)))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #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))
2
#s(literal 2 binary64)
(+ 2 (pow im 2))
(fma.f64 im im #s(literal 2 binary64))
(+ 2 (* (pow im 2) (+ 1 (* 1/12 (pow im 2)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) (fma.f64 im im #s(literal 2 binary64)))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) (fma.f64 im im #s(literal 2 binary64)))
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/24 im)
(*.f64 #s(literal 1/24 binary64) 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))))))
(fma.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)) #s(literal 1 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)))
(+ (exp im) (exp (neg im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow im 2)
(*.f64 im im)
(* (pow im 2) (+ 1 (* 2 (/ 1 (pow im 2)))))
(fma.f64 im im #s(literal 2 binary64))
(* 1/24 (* (pow im 4) (cos re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)) (cos.f64 re))
(* (pow im 4) (+ (* 1/24 (cos re)) (* 1/2 (/ (cos re) (pow im 2)))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (+ (* 1/24 (cos re)) (+ (* 1/2 (/ (cos re) (pow im 2))) (/ (cos re) (pow im 4)))))
(*.f64 (fma.f64 (cos.f64 re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal -1/24 binary64)) (/.f64 (cos.f64 re) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(* 1/24 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow im 4) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (+ 1/24 (+ (* 1/2 (/ 1 (pow im 2))) (/ 1 (pow im 4)))))
(fma.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64))
(* 1/24 (pow im 2))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
(* (pow im 2) (+ 1/24 (* 1/2 (/ 1 (pow im 2)))))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 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 (* (cos 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))) (cos.f64 re))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite208.0ms (2.8%)

Memory
14.2MiB live, 198.2MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051301
078292
1302284
22110284
08447279
Stop Event
iter limit
node limit
iter limit
Counts
22 → 256
Calls
Call 1
Inputs
(*.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))) (cos.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 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 im im #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))))
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(cosh.f64 im)
#s(approx (cos re) #s(literal 1 binary64))
(fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) im)
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
Outputs
(*.f64 (cos.f64 re) #s(approx (* 1 (cosh im)) (fma.f64 (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)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (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)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re))
#s(approx (* 1 (cosh im)) (fma.f64 (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)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (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)) im) im))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)) (*.f64 (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)) #s(literal 1 binary64))) (*.f64 (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)) (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (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)) im) im)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (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)) im) im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im))))
(/.f64 (-.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (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)) im) im))))
(/.f64 (fma.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)))
(fma.f64 (*.f64 (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)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (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)) im) (*.f64 im #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (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)) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (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))) #s(literal 1 binary64))
(fma.f64 (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)) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (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)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (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)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (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)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (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)) im) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (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)) im)) im))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (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))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (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))))
(+.f64 (/.f64 (*.f64 (pow.f64 (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)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im))) (pow.f64 (-.f64 (fma.f64 (pow.f64 (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)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (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)) im) im)) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 (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)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (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)) im) im))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.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 (neg.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)))) (neg.f64 (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 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 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 (*.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/4 binary64))) (*.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 (*.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 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64)))) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64)))) #s(literal 1/8 binary64))) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64)))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 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 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 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 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64))) (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 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 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64))))))
(/.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.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 (*.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 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))) #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))
(-.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 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/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 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64))))
(+.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/8 binary64) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) im) (*.f64 im #s(literal 1/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))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 4 binary64) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (-.f64 #s(literal 2 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 im im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64))))) (neg.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (*.f64 im im) #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 im im) #s(literal 2 binary64)) #s(literal 4 binary64))) (*.f64 (-.f64 (*.f64 im im) #s(literal 2 binary64)) (-.f64 (*.f64 im im) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))) (*.f64 (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))) #s(literal 8 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))) (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im)))))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 #s(literal 2 binary64) (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 im im) #s(literal 2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64)))) (neg.f64 (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))))))
(/.f64 (neg.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 im im) #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64))) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im)))))
(/.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64))) (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(fma.f64 (neg.f64 (neg.f64 (neg.f64 im))) (neg.f64 (neg.f64 (neg.f64 im))) #s(literal 2 binary64))
(fma.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)) #s(literal 2 binary64))
(fma.f64 (neg.f64 im) (neg.f64 im) #s(literal 2 binary64))
(fma.f64 im im #s(literal 2 binary64))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (*.f64 im im) #s(literal 2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 im im) #s(literal 2 binary64))))
(-.f64 #s(literal 2 binary64) (*.f64 (neg.f64 (neg.f64 im)) (neg.f64 im)))
(-.f64 #s(literal 2 binary64) (*.f64 (neg.f64 im) im))
(-.f64 #s(literal 2 binary64) (*.f64 im (neg.f64 im)))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im)))) (/.f64 #s(literal 8 binary64) (-.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 im im)))))
(+.f64 #s(literal 2 binary64) (*.f64 im im))
(+.f64 (*.f64 im im) #s(literal 2 binary64))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)) #s(literal 1 binary64))) (*.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))))
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))))
(/.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) #s(literal 1 binary64)) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)))
(fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))))
(+.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))) (pow.f64 (-.f64 (fma.f64 (pow.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im)) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 #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 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64) #s(literal 1/8 binary64)))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))) (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) #s(literal 1/8 binary64))) (*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64) #s(literal 1/8 binary64))) (neg.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im))) im #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) im)) im #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
(fma.f64 im (fabs.f64 (*.f64 (neg.f64 im) #s(literal 1/24 binary64))) #s(literal 1/2 binary64))
(fma.f64 im (fabs.f64 (*.f64 #s(literal 1/24 binary64) im)) #s(literal 1/2 binary64))
(fma.f64 im (*.f64 #s(literal 1/24 binary64) im) #s(literal 1/2 binary64))
(-.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/24 binary64) im)) im))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/24 binary64) (*.f64 im im)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal 1/24 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/24 binary64) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64)) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/576 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 im im) #s(literal 1/48 binary64))))))
(+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))))) (neg.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64))) (pow.f64 re #s(literal 6 binary64)))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))) (*.f64 (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64)))) (*.f64 (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (*.f64 (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64)) (*.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64))) (pow.f64 re #s(literal 6 binary64))))) (*.f64 (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re)))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64))) (pow.f64 re #s(literal 6 binary64))))) (neg.f64 (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64))) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64))) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 #s(literal 1/4 binary64) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))) (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 2 binary64)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 3 binary64))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re)))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re))) re))
(+.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)))))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 re)) (neg.f64 re))
(*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re)) re)
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)))))
(*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))) (*.f64 re re))
(*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (neg.f64 (*.f64 re re)))
(*.f64 (*.f64 re re) (neg.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 re (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re)))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re))
(*.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)) #s(literal 1 binary64))
(*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 1 binary64) #s(approx (cos re) #s(literal 1 binary64))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(approx (cos re) #s(literal 1 binary64)) (*.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 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)))) #s(literal 2 binary64))
(/.f64 (fma.f64 (exp.f64 im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 im)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 im))) #s(literal 4 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 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal -3 binary64)))) (neg.f64 (*.f64 (+.f64 (expm1.f64 (+.f64 im im)) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal -2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal -3 binary64))) (*.f64 (+.f64 (expm1.f64 (+.f64 im im)) (pow.f64 (exp.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 (neg.f64 im))))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.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 (cos re) #s(literal 1 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1/576 binary64) (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (-.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/576 binary64)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64)))) (neg.f64 (neg.f64 (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)) #s(literal 1/576 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))))
(/.f64 (fma.f64 (*.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))) (*.f64 (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))) #s(literal 1/13824 binary64))) (*.f64 (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))) (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))))
(/.f64 (-.f64 #s(literal 1/576 binary64) (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)))) (-.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 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 (fma.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64))) (neg.f64 (+.f64 #s(literal 1/576 binary64) (-.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64))) (neg.f64 (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/576 binary64)) (-.f64 (*.f64 (*.f64 im im) #s(literal 1/720 binary64)) #s(literal 1/24 binary64)))
(/.f64 (fma.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64)) (+.f64 #s(literal 1/576 binary64) (-.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(/.f64 (fma.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64)) #s(literal 1/13824 binary64)) (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64)))))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/720 binary64) (neg.f64 im))) im #s(literal 1/24 binary64))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/720 binary64) im)) 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 (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 (fabs.f64 (*.f64 (neg.f64 im) #s(literal 1/720 binary64))) #s(literal 1/24 binary64))
(fma.f64 im (fabs.f64 (*.f64 #s(literal 1/720 binary64) im)) #s(literal 1/24 binary64))
(fma.f64 im (*.f64 #s(literal 1/720 binary64) im) #s(literal 1/24 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 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 (neg.f64 (*.f64 im im)) #s(literal 1/720 binary64)))
(-.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 im im)))
(+.f64 (/.f64 (*.f64 #s(literal 1/373248000 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #s(literal 1/576 binary64) (*.f64 (*.f64 im im) #s(literal 1/17280 binary64))))) (/.f64 #s(literal 1/13824 binary64) (fma.f64 #s(literal 1/518400 binary64) (pow.f64 im #s(literal 4 binary64)) (-.f64 #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 #s(literal 1/24 binary64) im)
(*.f64 im #s(literal 1/24 binary64))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re))) re)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/48 binary64) re)) re)
(*.f64 (*.f64 #s(literal 1/48 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/48 binary64) re) re)
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/48 binary64)))
(*.f64 #s(literal 1/48 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1/48 binary64))
(*.f64 re (fabs.f64 (*.f64 (neg.f64 re) #s(literal 1/48 binary64))))
(*.f64 re (fabs.f64 (*.f64 #s(literal 1/48 binary64) re)))
(*.f64 re (*.f64 #s(literal 1/48 binary64) re))
(sqrt.f64 (*.f64 #s(literal 1/2304 binary64) (pow.f64 re #s(literal 4 binary64))))
(fabs.f64 (neg.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re))))
(fabs.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)))

eval55.0ms (0.7%)

Memory
3.1MiB live, 90.8MiB allocated; 13ms collecting garbage
Compiler

Compiled 13 346 to 1 570 computations (88.2% saved)

prune55.0ms (0.7%)

Memory
-8.7MiB live, 54.1MiB allocated; 9ms collecting garbage
Pruning

22 alts after pruning (15 fresh and 7 done)

PrunedKeptTotal
New3418349
Fresh5712
Picked235
Done044
Total34822370
Accuracy
100.0%
Counts
370 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.6%
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64)))
77.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
46.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
100.0%
(*.f64 (cosh.f64 im) (cos.f64 re))
65.5%
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
92.9%
(*.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))) (cos.f64 re))
89.8%
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re))
33.0%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
33.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.6%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
29.9%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
33.6%
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
49.0%
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) #s(approx (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 re re) #s(literal 1/4 binary64)) re) re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
47.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
24.7%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
25.3%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
66.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.f64 re)))
35.4%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
56.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
56.7%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
56.5%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* (* 1/24 im) im) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
34.2%
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
Compiler

Compiled 1 805 to 641 computations (64.5% saved)

regimes122.0ms (1.7%)

Memory
-26.2MiB live, 160.6MiB allocated; 23ms collecting garbage
Counts
39 → 1
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* (* 1/24 im) im) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) #s(approx (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 re re) #s(literal 1/4 binary64)) re) re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re 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)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.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))) (cos.f64 re))
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (cosh.f64 im) (cos.f64 re))
Calls

6 calls:

37.0ms
(cos.f64 re)
26.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
24.0ms
im
12.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
11.0ms
re
Results
AccuracySegmentsBranch
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
100.0%1(cos.f64 re)
100.0%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
100.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1re
100.0%1im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes57.0ms (0.8%)

Memory
43.1MiB live, 131.7MiB allocated; 8ms collecting garbage
Counts
35 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* (* 1/24 im) im) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) #s(approx (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 re re) #s(literal 1/4 binary64)) re) re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re 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)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.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))) (cos.f64 re))
Outputs
(*.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))) (cos.f64 re))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
Calls

6 calls:

11.0ms
(cos.f64 re)
10.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.0ms
re
9.0ms
im
9.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Results
AccuracySegmentsBranch
92.9%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
96.8%2(cos.f64 re)
96.8%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
98.8%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
96.6%2re
98.8%3im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes19.0ms (0.3%)

Memory
-25.4MiB live, 20.7MiB allocated; 3ms collecting garbage
Counts
34 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* (* 1/24 im) im) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im #s(literal 1 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos 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))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(approx (- (* 1/48 (* re re)) 1/4) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) #s(approx (* (neg (- (* (* re re) 1/48) 1/4)) (* re re)) (*.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 re re) #s(literal 1/4 binary64)) re) re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64)) re) re #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/48 binary64)) #s(literal 1/4 binary64))) (*.f64 re re)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 re re) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re 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)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) im) im) (fma.f64 (*.f64 #s(literal 1/24 binary64) re) re #s(literal -1/2 binary64)))) #s(literal 1/2 binary64)) (*.f64 re re) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* 1/24 (* im im)) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) #s(approx (+ (* (+ (* (* 1/24 im) im) 1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
(*.f64 #s(approx (* 1 (cosh im)) (fma.f64 (fma.f64 #s(approx (+ (* 1/720 (* im im)) 1/24) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (cos.f64 re))
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) #s(approx (cos re) (fma.f64 #s(literal -1/2 binary64) (*.f64 re re) #s(literal 1 binary64)))) (*.f64 im im) (cos.f64 re)))
Outputs
#s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re))))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
Calls

1 calls:

17.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
98.7%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes8.0ms (0.1%)

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

1 calls:

7.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.2%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes8.0ms (0.1%)

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

1 calls:

7.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.0%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 11 to 10 computations (9.1% saved)

regimes131.0ms (1.8%)

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

6 calls:

54.0ms
im
48.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
7.0ms
re
7.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
7.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
65.5%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
67.3%2re
78.4%2(cos.f64 re)
78.4%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
69.9%3im
78.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes20.0ms (0.3%)

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

3 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
6.0ms
(cos.f64 re)
6.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
72.5%2(cos.f64 re)
72.5%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
72.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes30.0ms (0.4%)

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

3 calls:

18.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
5.0ms
(cos.f64 re)
5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
69.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
69.5%2(cos.f64 re)
69.5%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes23.0ms (0.3%)

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

6 calls:

6.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
3.0ms
re
3.0ms
im
3.0ms
(cos.f64 re)
3.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
56.7%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
58.4%2re
56.7%1im
63.9%2(cos.f64 re)
63.9%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
63.9%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes10.0ms (0.1%)

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

3 calls:

5.0ms
(cos.f64 re)
2.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
63.8%2(cos.f64 re)
63.8%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
63.8%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes12.0ms (0.2%)

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

6 calls:

2.0ms
re
2.0ms
im
2.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
2.0ms
(cos.f64 re)
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
47.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
47.0%1im
49.5%2re
54.3%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
54.3%2(cos.f64 re)
54.3%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes8.0ms (0.1%)

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

5 calls:

2.0ms
re
2.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
2.0ms
im
2.0ms
(cos.f64 re)
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
47.0%1im
47.0%1re
47.0%1(cos.f64 re)
47.0%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
47.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 19 to 22 computations (-15.8% saved)

regimes8.0ms (0.1%)

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

6 calls:

1.0ms
re
1.0ms
im
1.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
1.0ms
(cos.f64 re)
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
35.1%4re
46.8%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
31.5%2(cos.f64 re)
31.5%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
46.9%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
46.8%2im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes50.0ms (0.7%)

Memory
-32.9MiB live, 14.7MiB allocated; 1ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

45.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
1.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
1.0ms
re
1.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
25.3%1(cos.f64 re)
25.3%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
25.3%1re
25.3%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
25.3%1im
25.3%1(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

bsearch1.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.012670161529998931
0.02799392221426215
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.006326813817067387
0.013996961107131075
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.012670161529998931
0.02799392221426215
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

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

Compiled 14 to 15 computations (-7.1% saved)

simplify54.0ms (0.7%)

Memory
8.7MiB live, 56.0MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0100714
1154714
2328710
31223710
46349710
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.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))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 2 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
Outputs
(*.f64 (cosh.f64 im) (cos.f64 re))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.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))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.f64 #s(approx (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))) (cos.f64 re)) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)) (cos.f64 re)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4503591187950005/4503599627370496 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 (*.f64 #s(literal 1 binary64) #s(approx (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 (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) (*.f64 #s(approx (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 (cos re) #s(literal 1 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal 1/2 binary64)) im) im #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) #s(approx (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) #s(approx (+ (* (* (+ (* (* im im) 1/24) 1/2) (cos re)) (* im im)) (cos re)) (fma.f64 #s(approx (+ (* 1/24 (* im im)) 1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/1152921504606846976 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 2 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))) (*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im)))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))

derivations1.4s (18.5%)

Memory
27.1MiB live, 1 014.6MiB allocated; 124ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0218965
1799913
22852870
08393801
0188819
1690767
22531728
08349666
01028
01728
15724
240822
3474322
0828422
043223
063217
1238207
21603207
08737205
028124
042120
1152110
01074110
0119387
1439355
21768346
36979346
08096312
0190879
1737797
22958759
08855684
051301
078292
1302284
22110284
08447279
Stop Event
fuel
iter limit
node limit
iter limit
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
node limit
iter limit
node limit
Compiler

Compiled 714 to 100 computations (86% saved)

preprocess171.0ms (2.3%)

Memory
-15.3MiB live, 119.2MiB allocated; 19ms collecting garbage
Remove

(abs re)

(abs im)

Compiler

Compiled 1 470 to 240 computations (83.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...