math.cos on complex, real part

Time bar (total: 7.0s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 13 to 12 computations (7.7% saved)

sample2.0s (28.6%)

Memory
42.0MiB live, 1 997.5MiB allocated; 540ms collecting garbage
Samples
1.6s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-cos: 461.0ms (44.1% of total)
ival-mult: 227.0ms (21.7% of total)
ival-exp: 181.0ms (17.3% of total)
ival-add: 90.0ms (8.6% of total)
ival-neg: 70.0ms (6.7% of total)
ival-true: 6.0ms (0.6% of total)
exact: 5.0ms (0.5% of total)
ival-assert: 3.0ms (0.3% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

explain208.0ms (3%)

Memory
37.0MiB live, 229.9MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 im)
00-0-(neg.f64 im)
01(4.594092219358691e-246 -465.46721544179314)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))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (neg.f64 im))sensitivity10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-100
Precision?
0.0
Recall?
0/0
Samples
106.0ms512×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 68.0ms
ival-exp: 45.0ms (65.9% of total)
ival-cos: 11.0ms (16.1% of total)
ival-mult: 6.0ms (8.8% of total)
ival-add: 2.0ms (2.9% of total)
ival-neg: 2.0ms (2.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess305.0ms (4.4%)

Memory
-5.2MiB live, 357.1MiB allocated; 96ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02557
111055
231855
3121533
4736533
01011
01711
14411
212711
353411
426385
083865
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 (cosh.f64 im) (cos.f64 re))
Symmetry

(abs im)

(abs re)

Compiler

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

simplify215.0ms (3.1%)

Memory
33.2MiB live, 269.8MiB allocated; 63ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
cost-diff0
(cos.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
cost-diff6
(*.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
353433
4263827
0838627
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 (cosh.f64 im) (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
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize34.0ms (0.5%)

Memory
1.1MiB live, 100.3MiB 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
27.0ms256×0valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-cos: 7.0ms (36.4% of total)
ival-exp: 6.0ms (31.2% of total)
ival-mult: 3.0ms (15.6% of total)
ival-add: 1.0ms (5.2% of total)
ival-neg: 1.0ms (5.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)

series8.0ms (0.1%)

Memory
-30.5MiB live, 16.5MiB allocated; 2ms 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 #s(literal 1/2 binary64) (cos.f64 re))
(cos.f64 re)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(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
2.0ms
re
@0
((* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp im) (exp (neg im)))
1.0ms
im
@0
((* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp im) (exp (neg im)))
1.0ms
im
@inf
((* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp im) (exp (neg im)))
1.0ms
re
@inf
((* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp im) (exp (neg im)))
1.0ms
im
@-inf
((* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (cos re) (+ (exp (neg im)) (exp im)) (exp im) (exp (neg im)))

simplify141.0ms (2%)

Memory
25.3MiB live, 208.0MiB allocated; 28ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0119387
1439355
21865346
37436346
08199308
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))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -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) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+ (* 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 (fma.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) (fma.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 (fma.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 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #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))

rewrite168.0ms (2.4%)

Memory
7.5MiB live, 287.1MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

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

eval119.0ms (1.7%)

Memory
7.1MiB live, 202.3MiB allocated; 51ms collecting garbage
Compiler

Compiled 9 814 to 1 313 computations (86.6% saved)

prune9.0ms (0.1%)

Memory
-26.4MiB live, 26.3MiB allocated; 6ms collecting garbage
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New4054409
Fresh000
Picked101
Done000
Total4064410
Accuracy
100.0%
Counts
410 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
71.5%
(*.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))))
50.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
84.5%
#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)

simplify142.0ms (2%)

Memory
34.2MiB live, 216.7MiB allocated; 39ms 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
2299145
31307137
08818135
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

localize82.0ms (1.2%)

Memory
-14.4MiB live, 118.2MiB allocated; 35ms 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))))
accuracy18.22134627152419
#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)))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0.0390625
(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.0390625
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64)) (cos.f64 re))
accuracy0.09765625
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal 1/2 binary64))
accuracy9.915448630985992
#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
60.0ms256×0valid
Compiler

Compiled 132 to 25 computations (81.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
ival-mult: 12.0ms (29.4% of total)
ival-neg: 8.0ms (19.6% of total)
ival-cos: 6.0ms (14.7% of total)
ival-add: 4.0ms (9.8% of total)
const: 4.0ms (9.8% of total)
ival-exp: 3.0ms (7.4% of total)
ival-cosh: 3.0ms (7.4% 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)

series14.0ms (0.2%)

Memory
26.6MiB live, 26.6MiB allocated; 0ms 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
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
@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))
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))

simplify278.0ms (4%)

Memory
-51.1MiB live, 276.4MiB allocated; 187ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0190883
1737801
23147788
08723701
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 (fma.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 (fma.f64 (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) (fma.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))))) (* (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) (fma.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 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 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))))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) (fma.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re re) #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 (fma.f64 (*.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 re re) (fma.f64 #s(literal -1/48 binary64) (*.f64 im im) #s(literal -1/4 binary64))) (*.f64 re re) (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 (fma.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 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (fma.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 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 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 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)))))
(+ (cos re) (* (pow im 2) (* (cos re) (+ 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)) (cos.f64 re)) (*.f64 im 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))
(* (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)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #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 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (cos.f64 re) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (cos.f64 re) (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)))))
(+ (* 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 im im (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/12 binary64) #s(literal 2 binary64)))
(+ 2 (* (pow im 2) (+ 1 (* (pow im 2) (+ 1/12 (* 1/360 (pow im 2)))))))
(fma.f64 im im (fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 im im) #s(literal 1/12 binary64)) #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 (fma.f64 (/.f64 (cos.f64 re) im) (/.f64 #s(literal 1/2 binary64) im) (*.f64 #s(literal 1/24 binary64) (cos.f64 re))) (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 #s(literal 1/24 binary64) (cos.f64 re) (fma.f64 (/.f64 (cos.f64 re) im) (/.f64 #s(literal 1/2 binary64) im) (/.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 (fma.f64 (/.f64 (cos.f64 re) im) (/.f64 #s(literal 1/2 binary64) im) (*.f64 #s(literal 1/24 binary64) (cos.f64 re))) (*.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)))))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64)) im) im)
(+ (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))

rewrite60.0ms (0.9%)

Memory
14.7MiB live, 107.4MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028124
042120
1150110
01129110
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 (fma.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 (pow.f64 #s(literal 1/24 binary64) #s(literal 3 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) (fma.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 (pow.f64 #s(literal 1/24 binary64) #s(literal 3 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 (fma.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 (pow.f64 #s(literal 1/24 binary64) #s(literal 3 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 (fma.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 (pow.f64 #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 #s(literal 1/576 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) #s(literal 1/48 binary64)))))
(/.f64 (fma.f64 (pow.f64 #s(literal 1/24 binary64) #s(literal 3 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 (pow.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) #s(literal 3 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)))

eval31.0ms (0.4%)

Memory
-24.7MiB live, 74.2MiB allocated; 7ms collecting garbage
Compiler

Compiled 5 718 to 672 computations (88.2% saved)

prune16.0ms (0.2%)

Memory
-10.1MiB live, 35.5MiB allocated; 10ms collecting garbage
Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1999208
Fresh000
Picked134
Done000
Total20012212
Accuracy
100.0%
Counts
212 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.1%
(*.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) #s(approx (cos re) #s(literal 1 binary64)))
71.5%
(*.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))))
50.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
47.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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))))
37.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
36.2%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.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)))
46.3%
(*.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))))
33.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)))
42.6%
(*.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))))
27.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
84.5%
#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)))
53.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))))
Compiler

Compiled 484 to 361 computations (25.4% saved)

simplify146.0ms (2.1%)

Memory
40.4MiB live, 226.6MiB allocated; 26ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

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

Useful iterations: 3 (0.0ms)

IterNodesCost
033268
051264
1103264
2282264
31172248
46334248
08064248
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.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))
(*.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)
(*.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)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
#s(literal -1/4 binary64)
(*.f64 re re)
re
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#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)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
#s(literal -1/4 binary64)
(*.f64 re re)
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))
im
#s(literal 2 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
#s(literal -1/1440 binary64)
(*.f64 re re)
re
#s(literal 1/48 binary64)
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(*.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))
(*.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)
(*.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)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
#s(literal -1/4 binary64)
(*.f64 re re)
re
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#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)) (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 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
#s(literal -1/4 binary64)
(*.f64 re re)
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))
im
#s(literal 2 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
#s(literal -1/1440 binary64)
(*.f64 re re)
re
#s(literal 1/48 binary64)
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)

localize187.0ms (2.7%)

Memory
-20.1MiB live, 165.2MiB allocated; 49ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.05078125
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
accuracy0.2883518536683913
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
accuracy31.34416994869244
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0.0
(*.f64 re re)
accuracy0.00390625
(*.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))))
accuracy18.22134627152419
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy31.444026752212316
#s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy0.0
(*.f64 re re)
accuracy0.00390625
(*.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)))
accuracy31.444026752212316
#s(approx (* 1/2 (cos re)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp 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)) #s(literal 2 binary64)))
accuracy29.164114307726656
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
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.164483760809688
#s(approx (cos re) #s(literal 1 binary64))
Samples
164.0ms256×0valid
Compiler

Compiled 187 to 31 computations (83.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 55.0ms
ival-mult: 15.0ms (27.2% of total)
ival-cos: 14.0ms (25.4% of total)
const: 11.0ms (20% of total)
ival-add: 7.0ms (12.7% of total)
ival-exp: 3.0ms (5.4% of total)
ival-cosh: 3.0ms (5.4% of total)
ival-neg: 1.0ms (1.8% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series12.0ms (0.2%)

Memory
25.8MiB live, 25.8MiB allocated; 0ms collecting garbage
Counts
18 → 50
Calls
Call 1
Inputs
(*.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)))
(cosh.f64 im)
#s(approx (cos re) #s(literal 1 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))
(*.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)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
(*.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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 #s(literal -1/1440 binary64) (*.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
(+ 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)))
(pow re 2)
-1/4
(- (* 1/48 (pow re 2)) 1/4)
(- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)
1/48
(+ 1/48 (* -1/1440 (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))
(* -1/4 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* -1/1440 (pow re 6))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* (pow re 6) (- (+ (* 1/48 (/ 1 (pow re 2))) (* 1/2 (/ 1 (pow re 6)))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* -1/1440 (pow re 4))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* -1/1440 (pow re 2))
(* (pow re 2) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ (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)))))))
(+ (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
@inf
((* 1 (cosh im)) (* (* 1 (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))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* re re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48))
2.0ms
re
@-inf
((* 1 (cosh im)) (* (* 1 (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))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* re re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48))
1.0ms
im
@-inf
((* 1 (cosh im)) (* (* 1 (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))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* re re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48))
1.0ms
im
@inf
((* 1 (cosh im)) (* (* 1 (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))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* re re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48))
1.0ms
re
@0
((* 1 (cosh im)) (* (* 1 (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))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* re re) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48))

simplify209.0ms (3%)

Memory
-10.6MiB live, 233.4MiB allocated; 50ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0154641
1551586
21999572
08080526
Stop Event
iter limit
node limit
Counts
50 → 50
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)))
(pow re 2)
-1/4
(- (* 1/48 (pow re 2)) 1/4)
(- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)
1/48
(+ 1/48 (* -1/1440 (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))
(* -1/4 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* -1/1440 (pow re 6))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* (pow re 6) (- (+ (* 1/48 (/ 1 (pow re 2))) (* 1/2 (/ 1 (pow re 6)))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* -1/1440 (pow re 4))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* -1/1440 (pow re 2))
(* (pow re 2) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(+ 1 (* 1/2 (pow im 2)))
(+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))
(+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))
(+ (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)))))))
(+ (exp im) (exp (neg im)))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(+ (exp im) (exp (* -1 im)))
Outputs
(* 1/2 (+ (exp im) (/ 1 (exp im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp 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) (/ 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 (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) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+ (* 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 (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
#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 (fma.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 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 (+ (exp im) (exp (neg im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -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) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+ (* 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 (fma.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) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
(pow re 2)
(*.f64 re re)
-1/4
#s(literal -1/4 binary64)
(- (* 1/48 (pow re 2)) 1/4)
(fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64))
(- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)
(fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64) (fma.f64 #s(literal 1/48 binary64) (*.f64 re re) #s(literal -1/4 binary64)))
1/48
#s(literal 1/48 binary64)
(+ 1/48 (* -1/1440 (pow re 2)))
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(cos re)
(cos.f64 re)
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(* 1/2 (cos re))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(* -1/4 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re)
(* -1/1440 (pow re 6))
(*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal -1/1440 binary64))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (pow.f64 re #s(literal 6 binary64)))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 6 binary64)))
(* (pow re 6) (- (+ (* 1/48 (/ 1 (pow re 2))) (* 1/2 (/ 1 (pow re 6)))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/48 binary64) (*.f64 re re))) (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/1440 binary64))) (pow.f64 re #s(literal 6 binary64)))
(* -1/1440 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64)))
(* -1/1440 (pow re 2))
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
(* (pow re 2) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) re) 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 (* 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 (* (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))
(+ (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 (cos.f64 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)))
(+ (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 im im) #s(literal 1/2 binary64) #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)))
(+ (exp im) (exp (neg im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite126.0ms (1.8%)

Memory
-28.9MiB live, 73.8MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033206
051202
1181190
01285190
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 151
Calls
Call 1
Inputs
(*.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)))
(cosh.f64 im)
#s(approx (cos re) #s(literal 1 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))
(*.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)) (fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
(*.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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
Outputs
(*.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(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 (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 (*.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 (*.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)))
#s(approx (cos 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))
(*.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)))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/64 binary64) #s(literal 1/8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/64 binary64) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal -1/64 binary64) #s(literal 1/8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64))))
(fma.f64 (*.f64 #s(literal -1/4 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/4 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/4 binary64) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/4 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 #s(literal -1/4 binary64) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/4 binary64) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/4 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (/.f64 #s(literal 1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))
(*.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)))
(*.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)))
(*.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal 1 binary64)) re)
(*.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (fabs.f64 re) #s(literal 2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(neg.f64 (*.f64 re (neg.f64 re)))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 re) #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 re re) #s(literal -1/4 binary64) #s(literal 1/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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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/4 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re))
(/.f64 (-.f64 #s(literal 1/16 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64))) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/16 binary64))) (neg.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 (neg.f64 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (-.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 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64))) (+.f64 #s(literal 1/16 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) (*.f64 #s(literal -1/4 binary64) re)))))
(/.f64 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal -1/4 binary64))
(fma.f64 #s(literal -1/2 binary64) #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re #s(literal -1/4 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) #s(literal -1/4 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) #s(literal -1/4 binary64))
(fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 re re) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) #s(literal -1/4 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) #s(literal -1/4 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) (-.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 #s(literal 1/16 binary64) (-.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 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re)) re))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))) (*.f64 re re)))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 re re)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal -1/64 binary64) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))))
(+.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 #s(literal -1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64)) re) re))
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1/2304 binary64) (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64))) (-.f64 #s(literal 1/48 binary64) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 1/48 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/110592 binary64) (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64)) (*.f64 (*.f64 re re) #s(literal -1/69120 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64)) (-.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 1/48 binary64)))
(/.f64 (+.f64 #s(literal 1/110592 binary64) (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 3 binary64))) (+.f64 #s(literal 1/2304 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/69120 binary64)))))
(/.f64 (+.f64 #s(literal 1/110592 binary64) (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64)) (*.f64 (*.f64 re re) #s(literal -1/69120 binary64))))
(fma.f64 (*.f64 #s(literal -1/1440 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/48 binary64))
(fma.f64 (*.f64 #s(literal -1/1440 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/48 binary64))
(fma.f64 (*.f64 #s(literal -1/1440 binary64) re) re #s(literal 1/48 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/1440 binary64)) #s(literal 1/48 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/1440 binary64)) #s(literal 1/48 binary64))
(fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #s(literal 1/48 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/1440 binary64) #s(literal 1/48 binary64))
(fma.f64 re (*.f64 #s(literal -1/1440 binary64) re) #s(literal 1/48 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 1/48 binary64))) (/.f64 #s(literal 1/2304 binary64) (-.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 1/48 binary64))))
(-.f64 #s(literal 1/48 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/1440 binary64) re)) re))
(-.f64 #s(literal 1/48 binary64) (*.f64 #s(literal 1/1440 binary64) (*.f64 re re)))
(-.f64 #s(literal 1/48 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/1440 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64)) (*.f64 (*.f64 re re) #s(literal -1/69120 binary64)))) (/.f64 #s(literal 1/110592 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/2304 binary64)) (*.f64 (*.f64 re re) #s(literal -1/69120 binary64)))))
(+.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)) #s(literal 1/48 binary64))
(+.f64 #s(literal 1/48 binary64) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))

eval78.0ms (1.1%)

Memory
21.2MiB live, 63.8MiB allocated; 6ms collecting garbage
Compiler

Compiled 8 371 to 1 020 computations (87.8% saved)

prune26.0ms (0.4%)

Memory
-4.9MiB live, 39.1MiB allocated; 6ms collecting garbage
Pruning

16 alts after pruning (10 fresh and 6 done)

PrunedKeptTotal
New2707277
Fresh134
Picked235
Done033
Total27316289
Accuracy
100.0%
Counts
289 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.5%
(*.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))))
50.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
65.1%
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
58.8%
(*.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))) #s(approx (cos re) #s(literal 1 binary64)))
47.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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))))
37.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
37.4%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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)))
36.2%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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)))
33.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)))
35.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
12.9%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
9.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
42.6%
(*.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))))
27.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
84.5%
#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)))
53.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))))
Compiler

Compiled 691 to 505 computations (26.9% saved)

simplify269.0ms (3.9%)

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

Found 19 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
043400
063400
1121400
2327400
31168384
44185384
09539371
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.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)
(*.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)
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))))
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(*.f64 re re)
re
#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 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) #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)) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
#s(literal -1/1440 binary64)
(*.f64 re re)
re
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(*.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)
(*.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)
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))))
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re)))
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(*.f64 (*.f64 #s(literal -1/4 binary64) re) re)
(*.f64 re re)
re
#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 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) #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)) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (fma.f64 (*.f64 #s(literal -1/4 binary64) re) re #s(literal 1/2 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos re)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (fma.f64 (*.f64 #s(literal -1/4 binary64) re) re #s(literal 1/2 binary64))))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (fma.f64 (*.f64 #s(literal -1/4 binary64) re) re #s(literal 1/2 binary64)))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
#s(literal -1/1440 binary64)
(*.f64 re re)
re
#s(literal -1/4 binary64)
#s(literal 1/2 binary64)
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(literal 2 binary64)

localize145.0ms (2.1%)

Memory
8.1MiB live, 96.2MiB allocated; 10ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.3625706036683913
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
accuracy31.34416994869244
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy31.51428588881706
#s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy0.05078125
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
accuracy31.34416994869244
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
accuracy31.831572002130653
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
accuracy32.14807438649185
#s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))
accuracy0.00390625
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
accuracy18.22134627152419
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy31.444026752212316
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))))
accuracy31.44738809937316
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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))))
accuracy18.22134627152419
#s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64)))
accuracy29.164114307726656
#s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64))
accuracy0.0
(cosh.f64 im)
accuracy0.00390625
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
accuracy29.164483760809688
#s(approx (cos re) #s(literal 1 binary64))
Samples
124.0ms256×0valid
Compiler

Compiled 228 to 31 computations (86.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 95.0ms
ival-cosh: 56.0ms (59.1% of total)
ival-mult: 15.0ms (15.8% of total)
ival-add: 7.0ms (7.4% of total)
ival-cos: 6.0ms (6.3% of total)
const: 6.0ms (6.3% of total)
ival-exp: 3.0ms (3.2% of total)
ival-neg: 1.0ms (1.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.2%)

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

6 calls:

TimeVariablePointExpression
2.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)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* (* re re) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (* -1/1440 (* re re)) 1/48) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48) (* -1/1440 (* re re)))
2.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)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* (* re re) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (* -1/1440 (* re re)) 1/48) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48) (* -1/1440 (* re re)))
1.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)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* (* re re) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (* -1/1440 (* re re)) 1/48) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48) (* -1/1440 (* re re)))
1.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)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* (* re re) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (* -1/1440 (* re re)) 1/48) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48) (* -1/1440 (* 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)) (+ (* im im) 2) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* -1/4 (* re re)) 1/2) (* (* re re) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* (* 1/2 (cos re)) (+ (exp (neg im)) (exp im))) (* 1/2 (cos re)) (+ (* (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (* re re)) 1/2) (+ (* (+ (* -1/1440 (* re re)) 1/48) (* re re)) -1/4) (+ (* -1/1440 (* re re)) 1/48) (+ (exp (neg im)) (exp im)) (+ (* -1/1440 (* re re)) 1/48) (* -1/1440 (* re re)))

simplify140.0ms (2%)

Memory
-23.1MiB live, 133.5MiB allocated; 21ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0158646
1569591
22077577
08476530
Stop Event
iter limit
node limit
Counts
51 → 51
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/4 (pow re 2))
-1/4
(- (* 1/48 (pow re 2)) 1/4)
(- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)
1/48
(+ 1/48 (* -1/1440 (pow re 2)))
(* -1/1440 (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))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(* -1/1440 (pow re 6))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* (pow re 6) (- (+ (* 1/48 (/ 1 (pow re 2))) (* 1/2 (/ 1 (pow re 6)))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* -1/1440 (pow re 4))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(* (pow re 2) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(+ (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 (* 1/24 (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)))))))
(+ (exp im) (exp (neg im)))
(pow im 2)
(* (pow im 2) (+ 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))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -1/4 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp 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) (/ 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 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+ (* 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 (fma.f64 (*.f64 re re) #s(literal -1/1440 binary64) #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
#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 (fma.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 (fma.f64 #s(literal -1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(* 1/2 (+ (exp im) (exp (neg im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(+ (* -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 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
(+ (* 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 (*.f64 re re) #s(literal -1/1440 binary64) #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 (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #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) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))) (*.f64 re re) #s(literal 1/2 binary64))
(* -1/4 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
-1/4
#s(literal -1/4 binary64)
(- (* 1/48 (pow re 2)) 1/4)
(fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64))
(- (* (pow re 2) (+ 1/48 (* -1/1440 (pow re 2)))) 1/4)
(fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64) (fma.f64 (*.f64 re re) #s(literal 1/48 binary64) #s(literal -1/4 binary64)))
1/48
#s(literal 1/48 binary64)
(+ 1/48 (* -1/1440 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/1440 binary64) #s(literal 1/48 binary64))
(* -1/1440 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/1440 binary64))
(* 1/2 (* (cos re) (+ (exp im) (/ 1 (exp im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(cos re)
(cos.f64 re)
(* 1/2 (* (cos re) (+ (exp im) (exp (neg im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(* 1/2 (cos re))
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/4))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re)
(* -1/1440 (pow re 6))
(*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal -1/1440 binary64))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (pow.f64 re #s(literal 6 binary64)))
(* (pow re 6) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 6 binary64)))
(* (pow re 6) (- (+ (* 1/48 (/ 1 (pow re 2))) (* 1/2 (/ 1 (pow re 6)))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/48 binary64) (*.f64 re re))) (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/1440 binary64))) (pow.f64 re #s(literal 6 binary64)))
(* -1/1440 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/1440 binary64))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)))
(* (pow re 4) (- (* 1/48 (/ 1 (pow re 2))) (+ 1/1440 (/ 1/4 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64)))
(* (pow re 2) (- (* 1/48 (/ 1 (pow re 2))) 1/1440))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/48 binary64) (*.f64 re re)) #s(literal 1/1440 binary64)) 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 (cos.f64 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)))
(+ (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 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (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 (* 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 (* (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)))
(+ (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/2 (* (cos re) (+ (exp im) (exp (* -1 im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)) (cos.f64 re))
(+ (exp im) (exp (* -1 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite114.0ms (1.6%)

Memory
-7.7MiB live, 84.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043349
063349
1219337
01587324
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
23 → 163
Calls
Call 1
Inputs
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
(cosh.f64 im)
#s(approx (cos re) #s(literal 1 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))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))))
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64))))
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
Outputs
(*.f64 #s(approx (cos re) #s(literal 1 binary64)) (cosh.f64 im))
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 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 (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)))
#s(approx (cos re) #s(literal 1 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)))
(*.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 (-.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 (fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (*.f64 im im)) (pow.f64 im #s(literal 4 binary64)))))
(/.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 (*.f64 im im) #s(literal 2 binary64)))))
(/.f64 (+.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (*.f64 im im)) (pow.f64 im #s(literal 4 binary64))))
(fma.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)) #s(literal 2 binary64))
(fma.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(fma.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)) #s(literal 2 binary64))
(fma.f64 (pow.f64 im #s(literal 1 binary64)) im #s(literal 2 binary64))
(fma.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)) #s(literal 2 binary64))
(fma.f64 (fabs.f64 im) (fabs.f64 im) #s(literal 2 binary64))
(fma.f64 #s(literal 2 binary64) #s(literal 1 binary64) (*.f64 im im))
(fma.f64 (exp.f64 im) (exp.f64 (neg.f64 im)) (+.f64 #s(literal 1 binary64) (*.f64 im im)))
(fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 im) (+.f64 #s(literal 1 binary64) (*.f64 im im)))
(fma.f64 (neg.f64 im) (neg.f64 im) #s(literal 2 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 2 binary64) (*.f64 im im))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 im im)))
(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 (fabs.f64 im)) (fabs.f64 im)))
(-.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 (fma.f64 im im #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (*.f64 im im)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 #s(literal 8 binary64) (fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (*.f64 im im)) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (*.f64 im im) #s(literal 2 binary64))
(+.f64 #s(literal 2 binary64) (*.f64 im im))
(+.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (*.f64 im im)))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #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 (+ (exp (neg im)) (exp im)) (fma.f64 im im #s(literal 2 binary64))) #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re))))
#s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re)))
#s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 #s(literal -1/4 binary64) re) re))
(*.f64 (*.f64 #s(literal -1/4 binary64) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 #s(literal -1/4 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal -1/4 binary64) re) re)
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/4 binary64)))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/4 binary64)))
(*.f64 (*.f64 re re) #s(literal -1/4 binary64))
(*.f64 #s(literal -1/4 binary64) (*.f64 re re))
(*.f64 re (*.f64 #s(literal -1/4 binary64) re))
(*.f64 #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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)))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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/4 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64)) re) re))
(/.f64 (-.f64 #s(literal 1/16 binary64) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64))) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/16 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal -1/4 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (-.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal -1/4 binary64)))
(/.f64 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64))) (+.f64 #s(literal 1/16 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) (*.f64 #s(literal -1/4 binary64) re)))))
(/.f64 (+.f64 #s(literal -1/64 binary64) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal -1/4 binary64))
(fma.f64 #s(literal -1/2 binary64) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re #s(literal -1/4 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))) #s(literal -1/4 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))) #s(literal -1/4 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 re re) #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) #s(literal -1/4 binary64))
(fma.f64 re (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) #s(literal -1/4 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal -1/4 binary64))) (/.f64 #s(literal 1/16 binary64) (-.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal -1/4 binary64))))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re)) re))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))) (*.f64 re re)))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))) (/.f64 #s(literal -1/64 binary64) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re) #s(literal -1/4 binary64))
(+.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64)) re) re))
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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 (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)) #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re))) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re))) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))) #s(literal 1/2 binary64))
(fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re))) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re))) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 re re)))
(/.f64 (-.f64 #s(literal 1/16 binary64) (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64))) (-.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/16 binary64))) (neg.f64 (-.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 3 binary64)) #s(literal -1/64 binary64))) (neg.f64 (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re))) (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/16 binary64)) (-.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 3 binary64)) #s(literal -1/64 binary64)) (+.f64 #s(literal 1/16 binary64) (-.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 3 binary64)) #s(literal -1/64 binary64)) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re))) (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (fabs.f64 re)) (fabs.f64 re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (neg.f64 re)) (neg.f64 re) #s(literal -1/4 binary64))
(fma.f64 #s(literal -1/2 binary64) #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)))
(fma.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) re) re #s(literal -1/4 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))) #s(literal -1/4 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))) #s(literal -1/4 binary64))
(fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1/4 binary64))
(fma.f64 (*.f64 re re) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) #s(literal -1/4 binary64))
(fma.f64 re (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) re) #s(literal -1/4 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64))) (/.f64 #s(literal 1/16 binary64) (-.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64))))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) re)) re))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))) (*.f64 re re)))
(-.f64 #s(literal -1/4 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re))) (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)))) (/.f64 #s(literal -1/64 binary64) (fma.f64 #s(literal -1/4 binary64) (-.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re))) (pow.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)) #s(literal -1/4 binary64))
(+.f64 #s(literal -1/4 binary64) (*.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.f64 re re)))
#s(approx (+ (* -1/1440 (* re re)) 1/48) #s(literal 1/48 binary64))
#s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64))
#s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re)))
(*.f64 (*.f64 #s(literal -1/1440 binary64) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 #s(literal -1/1440 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal -1/1440 binary64) re) re)
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/1440 binary64)))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/1440 binary64)))
(*.f64 #s(literal -1/1440 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal -1/1440 binary64))
(*.f64 re (*.f64 #s(literal -1/1440 binary64) re))

eval76.0ms (1.1%)

Memory
26.5MiB live, 72.6MiB allocated; 21ms collecting garbage
Compiler

Compiled 8 922 to 933 computations (89.5% saved)

prune20.0ms (0.3%)

Memory
-0.3MiB live, 42.4MiB allocated; 9ms collecting garbage
Pruning

17 alts after pruning (7 fresh and 10 done)

PrunedKeptTotal
New2412243
Fresh055
Picked145
Done066
Total24217259
Accuracy
100.0%
Counts
259 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.5%
(*.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))))
50.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
65.1%
(*.f64 (cosh.f64 im) #s(approx (cos re) #s(literal 1 binary64)))
58.8%
(*.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))) #s(approx (cos re) #s(literal 1 binary64)))
47.5%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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))))
37.7%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))
37.4%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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)))
36.2%
(*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) #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)))
33.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)))
35.0%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) re) re))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
13.1%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
9.8%
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
42.6%
(*.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))))
18.0%
(*.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))))
27.6%
(*.f64 #s(approx (* 1/2 (cos re)) #s(literal 1/2 binary64)) #s(approx (+ (exp (neg im)) (exp im)) #s(literal 2 binary64)))
84.5%
#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)))
53.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))))
Compiler

Compiled 973 to 437 computations (55.1% saved)

regimes97.0ms (1.4%)

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

6 calls:

65.0ms
re
7.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
6.0ms
im
6.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
6.0ms
(cos.f64 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)

regimes41.0ms (0.6%)

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

6 calls:

13.0ms
(cos.f64 re)
6.0ms
im
6.0ms
re
5.0ms
(*.f64 #s(literal 1/2 binary64) (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
87.5%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
87.0%2(cos.f64 re)
87.0%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
100.0%3(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.7%2re
93.7%3im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes6.0ms (0.1%)

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

5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.9%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)

regimes31.0ms (0.4%)

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

6 calls:

7.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
5.0ms
im
5.0ms
re
5.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
67.1%2re
77.8%2(cos.f64 re)
77.8%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
65.1%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
65.1%1im
77.8%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)

regimes15.0ms (0.2%)

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

5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
71.5%2(cos.f64 re)
71.5%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
71.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)

regimes13.0ms (0.2%)

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

4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
70.8%2(cos.f64 re)
70.8%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
70.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)

regimes27.0ms (0.4%)

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

6 calls:

7.0ms
(cos.f64 re)
4.0ms
re
4.0ms
im
4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
53.7%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
59.5%3im
56.9%2re
65.7%2(cos.f64 re)
65.7%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
65.7%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)

regimes11.0ms (0.2%)

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

3 calls:

4.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
4.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
65.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
65.4%2(cos.f64 re)
65.4%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes43.0ms (0.6%)

Memory
-31.6MiB live, 19.8MiB allocated; 5ms 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)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp 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)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp im)) #s(approx (+ (* im im) 2) (*.f64 im im))))
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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))))
Calls

6 calls:

31.0ms
im
3.0ms
re
2.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
42.6%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
47.8%2re
47.0%3im
54.3%2(cos.f64 re)
54.3%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
54.3%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)

regimes7.0ms (0.1%)

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

3 calls:

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
54.3%2(cos.f64 re)
54.3%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
54.3%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)

regimes6.0ms (0.1%)

Memory
11.2MiB live, 11.2MiB 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)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 binary64)))) #s(approx (+ (exp (neg im)) (exp 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)))
Outputs
(*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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

3 calls:

2.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
51.0%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
51.0%2(cos.f64 re)
51.0%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes35.0ms (0.5%)

Memory
-29.2MiB live, 15.4MiB allocated; 6ms 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:

28.0ms
im
2.0ms
re
2.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
42.6%1im
42.6%1re
42.6%1(cos.f64 re)
42.6%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
42.6%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.7MiB live, 18.7MiB 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
42.5%2im
42.5%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
32.0%2(cos.f64 re)
32.0%2(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
42.6%2(*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.8%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes6.0ms (0.1%)

Memory
16.0MiB live, 16.0MiB allocated; 0ms 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:

1.0ms
(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
1.0ms
im
1.0ms
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
27.6%1re
27.6%1(cos.f64 re)
27.6%1(*.f64 #s(literal 1/2 binary64) (cos.f64 re))
27.6%1im
27.6%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
27.6%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
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999991107148
1.0
0.0ms
-inf
-0.9995962355450145
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999991107148
1.0
0.0ms
-inf
-0.9995962355450145
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.057914067754903896
0.030441284895099077
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.057914067754903896
0.030441284895099077
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.057914067754903896
0.030441284895099077
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.028957033877451948
0.0017244772614532491
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.028957033877451948
0.0017244772614532491
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.057914067754903896
0.030441284895099077
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.028957033877451948
0.0017244772614532491
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.057914067754903896
0.030441284895099077
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
1.0000000000000204
7.060137797894309e+201
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify48.0ms (0.7%)

Memory
-13.9MiB live, 73.4MiB allocated; 11ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0104799
1166799
2399797
31509797
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1 binary64) (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 -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199246731023/9007199254740992 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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199246731023/9007199254740992 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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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 (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/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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))) #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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (cos.f64 re))
(*.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 -inf.0 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199246731023/9007199254740992 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 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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)))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 9007199246731023/9007199254740992 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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/1440 binary64) (*.f64 re re) #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 (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 -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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 (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/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) (fma.f64 (fma.f64 #s(approx (+ (* -1/1440 (* re re)) 1/48) (*.f64 #s(literal -1/1440 binary64) (*.f64 re re))) (*.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))) #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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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 #s(literal 1/2 binary64) (cos.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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)))))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -3602879701896397/72057594037927936 binary64)) (*.f64 #s(approx (* 1/2 (cos re)) #s(approx (+ (* -1/4 (* re re)) 1/2) (*.f64 (*.f64 re re) #s(literal -1/4 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.0s (15%)

Memory
36.2MiB live, 789.9MiB allocated; 119ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0154641
1551586
21999572
08080526
0158646
1569591
22077577
08476530
0119387
1439355
21865346
37436346
08199308
01028
01728
15724
240822
0515122
033206
051202
1181190
01285190
0190883
1737801
23147788
08723701
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 803 to 110 computations (86.3% saved)

preprocess150.0ms (2.1%)

Memory
-57.9MiB live, 112.6MiB allocated; 89ms collecting garbage
Remove

(abs re)

(abs im)

Compiler

Compiled 1 668 to 280 computations (83.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...