math.cos on complex, imaginary part

Time bar (total: 8.8s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.9MiB live, 0.8MiB 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.7s (30.9%)

Memory
95.8MiB live, 3 410.2MiB allocated; 1.0s collecting garbage
Samples
919.0ms2 874×1valid
818.0ms1 110×2valid
528.0ms4 272×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.8s
ival-exp: 929.0ms (51.1% of total)
ival-mult: 324.0ms (17.8% of total)
ival-sin: 263.0ms (14.5% of total)
adjust: 165.0ms (9.1% of total)
ival-sub: 84.0ms (4.6% of total)
ival-neg: 39.0ms (2.1% of total)
ival-true: 6.0ms (0.3% of total)
exact: 6.0ms (0.3% of total)
ival-assert: 3.0ms (0.2% of total)
Bogosity

explain244.0ms (2.8%)

Memory
-0.7MiB live, 386.0MiB allocated; 62ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1240-0-(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
00-0-(exp.f64 im)
00-0-(neg.f64 im)
00-0-(exp.f64 (neg.f64 im))
00-0-(sin.f64 re)
00-0-im
00-0-(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
00-0-re
00-0-#s(literal 1/2 binary64)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))cancellation1240
Confusion
Predicted +Predicted -
+1010
-23132
Precision
0.8145161290322581
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+10100
-230132
Precision?
0.8145161290322581
Recall?
1.0
Freqs
test
numberfreq
0132
1124
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
62.0ms82×2valid
51.0ms166×1valid
25.0ms264×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 116.0ms
ival-exp: 42.0ms (36.3% of total)
ival-mult: 33.0ms (28.5% of total)
ival-neg: 15.0ms (13% of total)
ival-sin: 13.0ms (11.2% of total)
adjust: 8.0ms (6.9% of total)
ival-sub: 4.0ms (3.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess139.0ms (1.6%)

Memory
34.4MiB live, 220.6MiB allocated; 32ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02559
17056
217755
374055
4422935
01011
01711
13011
25811
318411
479510
0850510
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
Symmetry

(negabs re)

Compiler

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 11 to 10 computations (9.1% saved)

simplify116.0ms (1.3%)

Memory
-20.4MiB live, 117.1MiB allocated; 39ms collecting garbage
Localize:

Found 4 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01033
01733
13033
25833
318433
479531
0850531
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(-.f64 (exp.f64 (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) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize85.0ms (1%)

Memory
4.3MiB live, 108.3MiB allocated; 35ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
accuracy28.887557671459536
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Samples
22.0ms132×0valid
21.0ms83×1valid
19.0ms41×2valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-exp: 20.0ms (48.1% of total)
adjust: 7.0ms (16.8% of total)
ival-sin: 7.0ms (16.8% of total)
ival-mult: 4.0ms (9.6% of total)
ival-sub: 2.0ms (4.8% of total)
ival-neg: 1.0ms (2.4% 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
17.5MiB live, 17.5MiB allocated; 0ms collecting garbage
Counts
6 → 37
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(sin.f64 re)
(exp.f64 im)
(exp.f64 (neg.f64 im))
Outputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Calls

6 calls:

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

simplify161.0ms (1.8%)

Memory
-31.9MiB live, 348.2MiB allocated; 48ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0184676
1513643
21667630
35245620
08674590
Stop Event
iter limit
node limit
Counts
37 → 37
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Outputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) #s(literal 1/2 binary64))) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/10080 binary64) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* 1/2 (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/10080 binary64) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) re)
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64))) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* 1/2 (sin re)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (sin re) (sin.f64 re))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(literal -2 binary64) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re))) im))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(literal 1 binary64))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) im))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal 1 binary64)) im #s(literal 1 binary64)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (exp 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)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) (fma.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) im #s(literal 1 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (exp (neg im)) (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)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (exp im) (exp.f64 im))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))

rewrite138.0ms (1.6%)

Memory
17.5MiB live, 154.6MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

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

eval30.0ms (0.3%)

Memory
12.9MiB live, 62.5MiB allocated; 11ms collecting garbage
Compiler

Compiled 5 492 to 896 computations (83.7% saved)

prune49.0ms (0.6%)

Memory
-15.1MiB live, 29.8MiB allocated; 5ms collecting garbage
Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New20710217
Fresh000
Picked101
Done000
Total20810218
Accuracy
99.9%
Counts
218 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
35.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
41.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
48.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
92.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
90.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
82.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
89.7%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
79.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
50.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
Compiler

Compiled 432 to 324 computations (25% saved)

simplify301.0ms (3.4%)

Memory
2.3MiB live, 221.9MiB allocated; 137ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
cost-diff0
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
cost-diff0
(sin.f64 re)
cost-diff0
(neg.f64 (sin.f64 re))
cost-diff0
(*.f64 (neg.f64 (sin.f64 re)) im)
cost-diff0
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
cost-diff0
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
cost-diff4
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041264
064264
1126262
2317260
3979251
45523251
08239251
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(sin.f64 re)
re
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
#s(literal 2 binary64)
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (neg.f64 (sin.f64 re)) im)
(neg.f64 (sin.f64 re))
(sin.f64 re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(literal 1 binary64)
(exp.f64 im)
im
Outputs
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(*.f64 (/.f64 (sin.f64 re) #s(literal 1/2 binary64)) (sinh.f64 (neg.f64 im)))
(sin.f64 re)
re
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64))
#s(literal 2 binary64)
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (neg.f64 (sin.f64 re)) im)
(neg.f64 (sin.f64 re))
(sin.f64 re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(literal 1 binary64)
(exp.f64 im)
im

localize174.0ms (2%)

Memory
-17.2MiB live, 317.5MiB allocated; 73ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
accuracy28.887557671459536
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
accuracy32.230012467803434
#s(approx (exp (neg im)) #s(literal 1 binary64))
accuracy0.05078125
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.125
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.260499158007162
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy0.04296875
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
accuracy0.13671875
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
accuracy11.00705379110616
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 (sin.f64 re))
accuracy0.140625
(*.f64 (neg.f64 (sin.f64 re)) im)
accuracy31.52546735462354
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
accuracy0.0
(sinh.f64 (neg.f64 im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 im)
accuracy0.0625
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
Samples
52.0ms83×1valid
44.0ms41×2valid
34.0ms132×0valid
Compiler

Compiled 210 to 33 computations (84.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 96.0ms
adjust: 22.0ms (22.9% of total)
ival-mult: 21.0ms (21.9% of total)
ival-exp: 20.0ms (20.8% of total)
const: 16.0ms (16.7% of total)
ival-sin: 7.0ms (7.3% of total)
ival-sub: 4.0ms (4.2% of total)
ival-add: 3.0ms (3.1% of total)
ival-neg: 2.0ms (2.1% of total)
exact: 1.0ms (1% of total)
ival-sinh: 1.0ms (1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series67.0ms (0.8%)

Memory
-10.5MiB live, 82.3MiB allocated; 6ms collecting garbage
Counts
22 → 95
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(sin.f64 re)
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (neg.f64 (sin.f64 re)) im)
(neg.f64 (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
(neg.f64 im)
(sinh.f64 (neg.f64 im))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(exp.f64 im)
Outputs
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -2 im)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 -2))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1/3 (pow im 3))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1/60 (pow im 4))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Calls

6 calls:

TimeVariablePointExpression
48.0ms
im
@inf
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (neg im) (sinh (neg im)) (+ (* (* im im) -1/3) -2) (* (+ (* (* im im) -1/3) -2) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp (neg im)) (exp im))
5.0ms
re
@inf
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (neg im) (sinh (neg im)) (+ (* (* im im) -1/3) -2) (* (+ (* (* im im) -1/3) -2) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp (neg im)) (exp im))
4.0ms
im
@-inf
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (neg im) (sinh (neg im)) (+ (* (* im im) -1/3) -2) (* (+ (* (* im im) -1/3) -2) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp (neg im)) (exp im))
3.0ms
re
@0
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (neg im) (sinh (neg im)) (+ (* (* im im) -1/3) -2) (* (+ (* (* im im) -1/3) -2) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp (neg im)) (exp im))
3.0ms
im
@0
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (neg im) (sinh (neg im)) (+ (* (* im im) -1/3) -2) (* (+ (* (* im im) -1/3) -2) im) (* -1/60 (* im im)) (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (exp (neg im)) (exp im))

simplify173.0ms (2%)

Memory
30.5MiB live, 174.0MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03971986
111441819
243871793
082811695
Stop Event
iter limit
node limit
Counts
95 → 95
Calls
Call 1
Inputs
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -2 im)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 -2))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1/3 (pow im 3))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1/60 (pow im 4))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Outputs
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) re)
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 re) im))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 im re) re) (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 (*.f64 im re) re) (*.f64 #s(literal -1/120 binary64) im)) re) re (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) (neg.f64 re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* 1/2 (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) re) re) #s(literal 1/12 binary64)) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (neg (sin re)) (neg.f64 (sin.f64 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* 1/2 (sin re)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))))) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 #s(literal -2 binary64) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))))) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(literal -2 binary64) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (neg im) (neg.f64 im))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) (neg.f64 im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(literal -2 binary64))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (+ (* (* im im) -1/3) -2) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -2 im)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) (*.f64 #s(literal -2 binary64) im))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (* -1/60 (* im im)) (*.f64 #s(literal -1/60 binary64) (*.f64 im im)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 -2))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(literal -2 binary64))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (exp (neg 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)))
#s(approx (exp im) #s(hole binary64 1))
#s(approx (exp im) #s(literal 1 binary64))
#s(approx (exp im) #s(hole binary64 (+ 1 im)))
#s(approx (exp im) (-.f64 im #s(literal -1 binary64)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* 1/2 im))))))
#s(approx (exp im) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal 1 binary64)) im #s(literal 1 binary64)))
#s(approx (exp im) #s(hole binary64 (+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))))
#s(approx (exp 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)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1/3 (pow im 3))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
#s(approx (* (+ (* (* im im) -1/3) -2) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (* im im) -1/3) -2) im) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (pow.f64 im #s(literal 3 binary64))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1/60 (pow im 4))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/60 binary64)))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))))
#s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))
#s(approx (exp im) #s(hole binary64 (exp im)))
#s(approx (exp im) (exp.f64 im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))

rewrite78.0ms (0.9%)

Memory
1.8MiB live, 46.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
041200
064200
1190187
01180187
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 194
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(sin.f64 re)
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (neg.f64 (sin.f64 re)) im)
(neg.f64 (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
(neg.f64 im)
(sinh.f64 (neg.f64 im))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(exp.f64 im)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (sin.f64 re))) (sinh.f64 (neg.f64 im)))
(*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(*.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im)))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sin.f64 re))
(*.f64 (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 2 binary64) (sin.f64 re)))
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (sin.f64 re))) (sinh.f64 (neg.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im))) #s(literal 1/2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re)))
(sin.f64 re)
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (/.f64 (+.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(/.f64 (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))) (-.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64))) (fma.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))))))
(/.f64 (fma.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64)) #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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(neg.f64 (+.f64 (sinh.f64 im) (sinh.f64 im)))
(neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(neg.f64 (*.f64 (sinh.f64 im) #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sinh.f64 (neg.f64 im)))
(fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64) (sinh.f64 (neg.f64 im)))
(fma.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)) (sinh.f64 (neg.f64 im)))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(-.f64 (cosh.f64 im) (+.f64 (sinh.f64 im) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (sin.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (sin.f64 re)))
(neg.f64 (sin.f64 re))
(fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 re))
(sin.f64 (+.f64 (PI.f64) re))
(-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) re))
(+.f64 (*.f64 (sin.f64 re) (cos.f64 (PI.f64))) (*.f64 (cos.f64 re) (sin.f64 (PI.f64))))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
(-.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
(neg.f64 im)
(*.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64))
(sinh.f64 (neg.f64 im))
(neg.f64 (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -8 binary64)) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) im #s(literal -2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) im) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 #s(literal 1/3 binary64) (*.f64 im im)))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/3 binary64)))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/3 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))) (/.f64 #s(literal -8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(+.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) im) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -8 binary64)) im) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (*.f64 im (fma.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 im #s(literal -2 binary64)))
(fma.f64 im #s(literal -2 binary64) (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im))
(+.f64 (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) (*.f64 im #s(literal -2 binary64)))
(+.f64 (*.f64 im #s(literal -2 binary64)) (*.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(*.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64)))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) (*.f64 im #s(literal -2 binary64))))))
(/.f64 (+.f64 #s(literal -8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #s(literal -2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) #s(literal -2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) #s(literal -2 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im)) im))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))) (*.f64 im im)))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -8 binary64) (fma.f64 #s(literal -2 binary64) (-.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(-.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(exp.f64 im)
(+.f64 (cosh.f64 im) (sinh.f64 im))
(+.f64 (sinh.f64 im) (cosh.f64 im))

eval77.0ms (0.9%)

Memory
-18.9MiB live, 130.8MiB allocated; 25ms collecting garbage
Compiler

Compiled 7 651 to 1 177 computations (84.6% saved)

prune28.0ms (0.3%)

Memory
-15.4MiB live, 75.2MiB allocated; 9ms collecting garbage
Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New29721318
Fresh235
Picked415
Done000
Total30325328
Accuracy
99.9%
Counts
328 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.4%
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
59.2%
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
48.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
55.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
58.8%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
34.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
53.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
49.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
54.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
51.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
36.6%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
54.6%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
51.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
79.6%
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
30.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
30.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64))))) im))
89.7%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
79.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
50.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
29.2%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
35.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
Compiler

Compiled 1 327 to 966 computations (27.2% saved)

simplify231.0ms (2.6%)

Memory
22.1MiB live, 217.7MiB allocated; 15ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
cost-diff0
#s(approx (sin re) re)
cost-diff0
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
cost-diff4
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
cost-diff0
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
#s(approx (sin re) re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
#s(approx (sin re) re)
cost-diff0
(neg.f64 #s(approx (sin re) re))
cost-diff0
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
cost-diff0
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
cost-diff0
(sin.f64 re)
cost-diff0
(neg.f64 im)
cost-diff0
(sinh.f64 (neg.f64 im))
cost-diff0
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046353
073353
1133351
2348349
31206342
46016342
08237342
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
(neg.f64 #s(approx (sin re) re))
#s(approx (sin re) re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(literal 1/2 binary64)
#s(approx (sin re) re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
#s(approx (sin re) re)
re
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
#s(literal 2 binary64)
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
#s(literal 1/2 binary64)
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(sin.f64 re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
(neg.f64 #s(approx (sin re) re))
#s(approx (sin re) re)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
(*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (sin re) re)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal 1/3 binary64)
#s(literal -2 binary64)
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im)))
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(*.f64 (/.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) (sinh.f64 (neg.f64 im)))
#s(approx (sin re) re)
re
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
#s(literal 2 binary64)
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
#s(literal 1/2 binary64)
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re))
(sin.f64 re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)

localize303.0ms (3.4%)

Memory
-33.6MiB live, 208.4MiB allocated; 25ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.05078125
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
accuracy0.0625
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.12890625
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.781331396061904
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy0.0
(sinh.f64 (neg.f64 im))
accuracy0.0
(neg.f64 im)
accuracy0.0625
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
accuracy34.71154262822573
#s(approx (sin re) re)
accuracy0.0625
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.125
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.260499158007162
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy34.71154262822573
#s(approx (sin re) re)
accuracy0.0
(neg.f64 #s(approx (sin re) re))
accuracy0.140625
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
accuracy31.52546735462354
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
accuracy34.71154262822573
#s(approx (sin re) re)
accuracy0.0
(sinh.f64 (neg.f64 im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 im)
accuracy0.0625
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Samples
102.0ms83×1valid
82.0ms132×0valid
63.0ms41×2valid
Compiler

Compiled 246 to 39 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 174.0ms
ival-exp: 41.0ms (23.6% of total)
adjust: 39.0ms (22.4% of total)
ival-sin: 35.0ms (20.1% of total)
ival-mult: 26.0ms (15% of total)
const: 18.0ms (10.4% of total)
ival-sub: 5.0ms (2.9% of total)
ival-add: 5.0ms (2.9% of total)
ival-sinh: 2.0ms (1.2% of total)
ival-neg: 2.0ms (1.2% 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
35.2MiB live, 35.2MiB allocated; 0ms collecting garbage
Counts
20 → 87
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(sinh.f64 (neg.f64 im))
(neg.f64 im)
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
(neg.f64 #s(approx (sin re) re))
#s(approx (sin re) re)
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
Outputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (* -1/2520 (* im im)) #s(hole binary64 (* -1/2520 (pow im 2))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1/2520 (pow im 4))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
Calls

6 calls:

TimeVariablePointExpression
3.0ms
im
@inf
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
3.0ms
im
@-inf
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
2.0ms
im
@0
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
2.0ms
re
@inf
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
2.0ms
re
@-inf
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))

simplify221.0ms (2.5%)

Memory
-32.4MiB live, 155.1MiB allocated; 53ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03622079
110231857
238741825
082181734
Stop Event
iter limit
node limit
Counts
87 → 87
Calls
Call 1
Inputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (* -1/2520 (* im im)) #s(hole binary64 (* -1/2520 (pow im 2))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1/2520 (pow im 4))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
Outputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) re)
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 re) im))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 re im) re) (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 (*.f64 re im) re) (*.f64 #s(literal -1/120 binary64) im)) re) re (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) (neg.f64 re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* 1/2 (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) re) re) #s(literal 1/12 binary64)) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (neg (sin re)) (neg.f64 (sin.f64 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* 1/2 (sin re)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))))) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) (neg.f64 im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (neg im) #s(hole binary64 (* -1 im)))
#s(approx (neg im) (neg.f64 im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))))) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(literal -2 binary64) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/5040 binary64) im) im #s(literal -1/120 binary64))))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))))) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 #s(literal -2 binary64) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))
#s(approx (* -1/60 (* im im)) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (* -1/60 (* im im)) (*.f64 #s(literal -1/60 binary64) (*.f64 im im)))
#s(approx (* -1/2520 (* im im)) #s(hole binary64 (* -1/2520 (pow im 2))))
#s(approx (* -1/2520 (* im im)) (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(literal -1/3 binary64))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1/2520 (pow im 4))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/2520 binary64)))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (*.f64 (+.f64 (/.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/2520 binary64)) (pow.f64 im #s(literal 4 binary64))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) #s(hole binary64 (* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))))
#s(approx (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/2520 binary64)) (pow.f64 im #s(literal 4 binary64))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite122.0ms (1.4%)

Memory
20.7MiB live, 104.6MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
046235
073235
1213224
01363224
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
20 → 143
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(sinh.f64 (neg.f64 im))
(neg.f64 im)
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
(neg.f64 #s(approx (sin re) re))
#s(approx (sin re) re)
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
Outputs
(*.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sin.f64 re)))
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sin.f64 re)) #s(literal 2 binary64))
(neg.f64 (*.f64 (sin.f64 re) (sinh.f64 im)))
(neg.f64 (*.f64 (sinh.f64 im) (sin.f64 re)))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64))
(sinh.f64 (neg.f64 im))
(neg.f64 (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(neg.f64 im)
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (sin re) re) (neg.f64 im)))
(*.f64 (neg.f64 #s(approx (sin re) re)) im)
(*.f64 #s(approx (sin re) re) (neg.f64 im))
(*.f64 im (neg.f64 #s(approx (sin re) re)))
(neg.f64 (*.f64 #s(approx (sin re) re) im))
(neg.f64 #s(approx (sin re) re))
#s(approx (sin re) re)
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re)))
(*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin re) re))) (sinh.f64 (neg.f64 im)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 (neg.f64 im))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 (neg.f64 im))))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 (neg.f64 im)))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (sin re) re))
(*.f64 #s(literal 2 binary64) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(*.f64 #s(approx (sin re) re) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin re) re))) (sinh.f64 (neg.f64 im)) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 (neg.f64 im))) #s(literal 1/2 binary64) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im)) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) (sinh.f64 (neg.f64 im))) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(fma.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(+.f64 (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))) (*.f64 #s(approx (sin re) re) (sinh.f64 (neg.f64 im))))
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (/.f64 (+.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))) (-.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64))) (fma.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))))))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64)) #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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(neg.f64 (+.f64 (sinh.f64 im) (sinh.f64 im)))
(neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))
(neg.f64 (*.f64 (sinh.f64 im) #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im)) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(fma.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/2 binary64) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1/2 binary64)) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)) (sinh.f64 (neg.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sinh.f64 (neg.f64 im)))
(fma.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64) (sinh.f64 (neg.f64 im)))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) #s(literal 1 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(-.f64 (cosh.f64 im) (+.f64 (sinh.f64 im) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))) (*.f64 #s(literal 1 binary64) (sinh.f64 (neg.f64 im))))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2520 binary64)))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2520 binary64)))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64)))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) (*.f64 im #s(literal -1/3 binary64))))))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/27 binary64) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im))

eval30.0ms (0.3%)

Memory
-7.0MiB live, 40.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 6 006 to 959 computations (84% saved)

prune23.0ms (0.3%)

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

26 alts after pruning (23 fresh and 3 done)

PrunedKeptTotal
New2379246
Fresh51419
Picked325
Done011
Total24526271
Accuracy
99.9%
Counts
271 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
53.6%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
54.7%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
49.1%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
48.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
55.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
58.8%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
53.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
59.2%
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
54.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
51.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
36.6%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
54.6%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
51.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
92.4%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
82.5%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
30.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
30.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64))))) im))
89.7%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
50.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
29.2%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
35.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
Compiler

Compiled 1 376 to 992 computations (27.9% saved)

simplify177.0ms (2%)

Memory
-10.3MiB live, 130.5MiB allocated; 32ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
cost-diff0
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
cost-diff0
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
cost-diff0
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
cost-diff0
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
cost-diff0
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
cost-diff0
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
#s(approx (sin re) re)
cost-diff0
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
cost-diff0
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
cost-diff0
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
cost-diff0
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
cost-diff1
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
cost-diff0
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
cost-diff0
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
cost-diff0
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
cost-diff1
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065536
0104536
1189536
2498536
31586522
45683522
09109522
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 im im)
im
#s(literal -1/5040 binary64)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
#s(literal 1/6 binary64)
(*.f64 re re)
re
#s(literal -1 binary64)
im
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (sin re) re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
#s(literal 1/240 binary64)
(*.f64 re re)
re
#s(literal 1/12 binary64)
#s(literal 1/2 binary64)
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/12 binary64)
#s(literal 1/2 binary64)
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(literal 1 binary64)
(exp.f64 im)
im
Outputs
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (sinh (neg im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im)))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im)
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(*.f64 im im)
im
#s(literal -1/5040 binary64)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
(*.f64 #s(approx (neg (sin re)) (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))) im)
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
(neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64))
#s(literal 1/6 binary64)
(*.f64 re re)
re
#s(literal -1 binary64)
im
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re))
#s(approx (sin re) re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
#s(literal 1/240 binary64)
(*.f64 re re)
re
#s(literal 1/12 binary64)
#s(literal 1/2 binary64)
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
re
#s(literal -1/12 binary64)
#s(literal 1/2 binary64)
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(literal 1 binary64)
(exp.f64 im)
im

localize263.0ms (3%)

Memory
26.6MiB live, 399.4MiB allocated; 44ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.09375
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
accuracy28.887557671459536
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
accuracy32.230012467803434
#s(approx (exp (neg im)) #s(literal 1 binary64))
accuracy35.09190093859163
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
accuracy0.13671875
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
accuracy0.13671875
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
accuracy11.00705379110616
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
accuracy34.92564668881428
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
accuracy0.0625
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.0703125
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
accuracy6.260499158007162
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy34.71154262822573
#s(approx (sin re) re)
accuracy0.09375
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
accuracy0.140625
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
accuracy31.52546735462354
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
accuracy35.09189076266462
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
accuracy0.07421875
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
accuracy0.07421875
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
accuracy0.12890625
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
accuracy4.781975102283281
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
Samples
84.0ms83×1valid
76.0ms132×0valid
54.0ms41×2valid
Compiler

Compiled 358 to 60 computations (83.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 177.0ms
ival-mult: 71.0ms (40.2% of total)
const: 32.0ms (18.1% of total)
adjust: 24.0ms (13.6% of total)
ival-exp: 19.0ms (10.7% of total)
ival-add: 13.0ms (7.4% of total)
ival-sub: 7.0ms (4% of total)
ival-sin: 6.0ms (3.4% of total)
ival-sinh: 2.0ms (1.1% of total)
ival-neg: 2.0ms (1.1% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series26.0ms (0.3%)

Memory
-0.4MiB live, 45.2MiB allocated; 5ms collecting garbage
Counts
30 → 152
Calls
Call 1
Inputs
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (sin re) re)
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
Outputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 re)))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12)))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 -1))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (- (* 1/6 (pow re 2)) 1)))
#s(approx (* 1/240 (* re re)) #s(hole binary64 (* 1/240 (pow re 2))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* 1/6 (pow re 3))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* (pow re 3) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/240 (pow re 5))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* 1/240 (pow re 4))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1/12 (pow re 3))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* -1/12 (pow re 2))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* 1/6 (pow re 2))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* (pow re 2) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 (* (pow re 3) (- (/ 1 (pow re 2)) 1/6)))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) 1/240)))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) (+ 1/240 (/ 1/2 (pow re 4))))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 im)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 -1))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* -1/6 (pow im 2)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* im im) -1/5040) #s(hole binary64 (* -1/5040 (pow im 2))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/120 (pow im 2))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/120 im)))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* im (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1/5040 (pow im 7))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1/5040 (pow im 6))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/5040 (pow im 4))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/5040 (pow im 3))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Calls

6 calls:

TimeVariablePointExpression
7.0ms
re
@inf
((* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (* (+ (* 1/6 (* re re)) -1) re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (* (* im im) -1/5040) (* (* (- (* (* im im) -1/5040) 1/120) im) im) (* (- (* (* im im) -1/5040) 1/120) im) (+ (* 1/6 (* re re)) -1) (+ (* -1/60 (* im im)) -1/3) (- (exp (neg im)) (exp im)) (* 1/240 (* re re)) (+ (* (* im im) -1/3) -2) (exp (neg im)) (- (exp (neg im)) (exp im)))
4.0ms
im
@inf
((* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (* (+ (* 1/6 (* re re)) -1) re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (* (* im im) -1/5040) (* (* (- (* (* im im) -1/5040) 1/120) im) im) (* (- (* (* im im) -1/5040) 1/120) im) (+ (* 1/6 (* re re)) -1) (+ (* -1/60 (* im im)) -1/3) (- (exp (neg im)) (exp im)) (* 1/240 (* re re)) (+ (* (* im im) -1/3) -2) (exp (neg im)) (- (exp (neg im)) (exp im)))
4.0ms
re
@-inf
((* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (* (+ (* 1/6 (* re re)) -1) re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (* (* im im) -1/5040) (* (* (- (* (* im im) -1/5040) 1/120) im) im) (* (- (* (* im im) -1/5040) 1/120) im) (+ (* 1/6 (* re re)) -1) (+ (* -1/60 (* im im)) -1/3) (- (exp (neg im)) (exp im)) (* 1/240 (* re re)) (+ (* (* im im) -1/3) -2) (exp (neg im)) (- (exp (neg im)) (exp im)))
3.0ms
im
@-inf
((* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (* (+ (* 1/6 (* re re)) -1) re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (* (* im im) -1/5040) (* (* (- (* (* im im) -1/5040) 1/120) im) im) (* (- (* (* im im) -1/5040) 1/120) im) (+ (* 1/6 (* re re)) -1) (+ (* -1/60 (* im im)) -1/3) (- (exp (neg im)) (exp im)) (* 1/240 (* re re)) (+ (* (* im im) -1/3) -2) (exp (neg im)) (- (exp (neg im)) (exp im)))
2.0ms
im
@0
((* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (* (+ (* 1/6 (* re re)) -1) re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (* (* im im) -1/5040) (* (* (- (* (* im im) -1/5040) 1/120) im) im) (* (- (* (* im im) -1/5040) 1/120) im) (+ (* 1/6 (* re re)) -1) (+ (* -1/60 (* im im)) -1/3) (- (exp (neg im)) (exp im)) (* 1/240 (* re re)) (+ (* (* im im) -1/3) -2) (exp (neg im)) (- (exp (neg im)) (exp im)))

simplify181.0ms (2.1%)

Memory
-0.2MiB live, 186.7MiB allocated; 65ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05353529
114213295
257393270
083123038
Stop Event
iter limit
node limit
Counts
152 → 152
Calls
Call 1
Inputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 re)))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12)))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 -1))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (- (* 1/6 (pow re 2)) 1)))
#s(approx (* 1/240 (* re re)) #s(hole binary64 (* 1/240 (pow re 2))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* 1/6 (pow re 3))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* (pow re 3) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/240 (pow re 5))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* 1/240 (pow re 4))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1/12 (pow re 3))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* -1/12 (pow re 2))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* 1/6 (pow re 2))))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* (pow re 2) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 (* (pow re 3) (- (/ 1 (pow re 2)) 1/6)))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) 1/240)))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) (+ 1/240 (/ 1/2 (pow re 4))))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 im)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 -1))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* -1/6 (pow im 2)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* (* im im) -1/5040) #s(hole binary64 (* -1/5040 (pow im 2))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/120 (pow im 2))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/120 im)))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* im (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1/5040 (pow im 7))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1/5040 (pow im 6))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/5040 (pow im 4))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/5040 (pow im 3))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
Outputs
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 re)))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) (neg.f64 re))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64) (neg.f64 re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (exp im))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (exp im))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/240 (- (exp (neg im)) (exp im)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im re))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 re) im))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))))
#s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1/120 binary64) (*.f64 (*.f64 re im) re) (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))))
#s(approx (* (neg (sin re)) im) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 (*.f64 re im) re) (*.f64 #s(literal -1/120 binary64) im)) re) re (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 re)))
#s(approx (neg (sin re)) (neg.f64 re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* 1/6 (pow re 2)) 1))))
#s(approx (neg (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64) (neg.f64 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (neg (sin re)) #s(hole binary64 (* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/240 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* re (+ (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/12 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/240 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 re re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* 1/120 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* re (- (+ (exp (neg im)) (* (pow re 2) (+ (* -1/6 (- (exp (neg im)) (/ 1 (exp (neg im))))) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/120 (- (exp (neg im)) (/ 1 (exp (neg im)))))))))) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)))) (*.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) re))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) re)
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 re)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(literal 1/2 binary64))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12)))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* 1/2 re)))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* re (+ 1/2 (* -1/12 (pow re 2))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow re 2)))))
#s(approx (+ (* (* re re) -1/12) 1/2) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 -1))
#s(approx (+ (* 1/6 (* re re)) -1) #s(literal -1 binary64))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (- (* 1/6 (pow re 2)) 1)))
#s(approx (+ (* 1/6 (* re re)) -1) (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
#s(approx (* 1/240 (* re re)) #s(hole binary64 (* 1/240 (pow re 2))))
#s(approx (* 1/240 (* re re)) (*.f64 #s(literal 1/240 binary64) (*.f64 re re)))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* 1/6 (pow re 3))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64)))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* (pow re 3) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (pow.f64 re #s(literal 3 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (neg (sin re)) im) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (neg (sin re)) im) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (neg (sin re)) #s(hole binary64 (* -1 (sin re))))
#s(approx (neg (sin re)) (neg.f64 (sin.f64 re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (sin re) (sin.f64 re))
#s(approx (* 1/2 (sin re)) #s(hole binary64 (* 1/2 (sin re))))
#s(approx (* 1/2 (sin re)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* 1/240 (pow re 5))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/240 binary64)))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (-.f64 #s(literal 1/240 binary64) (/.f64 #s(literal 1/12 binary64) (*.f64 re re))) (pow.f64 re #s(literal 5 binary64))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* (pow re 5) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))) (-.f64 #s(literal 1/240 binary64) (/.f64 #s(literal 1/12 binary64) (*.f64 re re)))) (pow.f64 re #s(literal 5 binary64))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* 1/240 (pow re 4))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/240 binary64)))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- 1/240 (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 #s(literal 1/240 binary64) (/.f64 #s(literal 1/12 binary64) (*.f64 re re)))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) #s(hole binary64 (* (pow re 4) (- (+ 1/240 (/ 1/2 (pow re 4))) (* 1/12 (/ 1 (pow re 2)))))))
#s(approx (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) (*.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))) (-.f64 #s(literal 1/240 binary64) (/.f64 #s(literal 1/12 binary64) (*.f64 re re))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1/12 (pow re 3))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/12 binary64)))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (pow.f64 re #s(literal 3 binary64))))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* -1/12 (pow re 2))))
#s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 binary64)))
#s(approx (+ (* (* re re) -1/12) 1/2) #s(hole binary64 (* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))))
#s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* 1/6 (pow re 2))))
#s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))
#s(approx (+ (* 1/6 (* re re)) -1) #s(hole binary64 (* (pow re 2) (- 1/6 (/ 1 (pow re 2))))))
#s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) #s(hole binary64 (* -1 (* (pow re 3) (- (/ 1 (pow re 2)) 1/6)))))
#s(approx (* (+ (* 1/6 (* re re)) -1) re) (*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/6 binary64))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) 1/240)))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (neg.f64 (-.f64 (/.f64 #s(literal 1/12 binary64) (*.f64 re re)) #s(literal 1/240 binary64))) (pow.f64 re #s(literal 5 binary64))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) #s(hole binary64 (* -1 (* (pow re 5) (- (* 1/12 (/ 1 (pow re 2))) (+ 1/240 (/ 1/2 (pow re 4))))))))
#s(approx (* (+ (* (- (* 1/240 (* re re)) 1/12) (* re re)) 1/2) re) (*.f64 (neg.f64 (pow.f64 re #s(literal 5 binary64))) (-.f64 (-.f64 (/.f64 #s(literal 1/12 binary64) (*.f64 re re)) #s(literal 1/240 binary64)) (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 4 binary64))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) #s(hole binary64 (* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))))
#s(approx (* (+ (* (* re re) -1/12) 1/2) re) (*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 #s(literal 1/12 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 im)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (neg.f64 im))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (sinh (neg im)) (sin re)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))))) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* -1 im)))
#s(approx (sinh (neg im)) (neg.f64 im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* -1/6 (pow im 2)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 -1))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(literal -1 binary64))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* -1/6 (pow im 2)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))))) im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* -1 (* im (sin re)))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (neg.f64 im) (sin.f64 re)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 im) (sin.f64 re))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* (pow im 2) (+ (* -1/120 (sin re)) (* -1/5040 (* (pow im 2) (sin re)))))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64))))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* -2 (* im (sin re)))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))) (*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* (pow im 2) (+ (* -1/60 (sin re)) (* -1/2520 (* (pow im 2) (sin re)))))))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (fma.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64))))) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 #s(literal -2 binary64) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (* (* im im) -1/5040) #s(hole binary64 (* -1/5040 (pow im 2))))
#s(approx (* (* im im) -1/5040) (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/120 (pow im 2))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) (*.f64 (*.f64 im im) #s(literal -1/120 binary64)))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im)))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/120 im)))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) (*.f64 #s(literal -1/120 binary64) im))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* im (- (* -1/5040 (pow im 2)) 1/120))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) im))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (- (* -1/60 (pow im 2)) 1/3)))
#s(approx (+ (* -1/60 (* im im)) -1/3) (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* -2 im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(literal -2 binary64) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* -1/3 (pow im 2)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* im im) -1/3) -2) #s(literal -2 binary64))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (- (* -1/3 (pow im 2)) 2)))
#s(approx (+ (* (* im im) -1/3) -2) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 1))
#s(approx (exp (neg im)) #s(literal 1 binary64))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* -1 im))))
#s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* 1/2 im) 1)))))
#s(approx (exp (neg im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal -1 binary64)) im #s(literal 1 binary64)))
#s(approx (exp (neg im)) #s(hole binary64 (+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))))
#s(approx (exp (neg 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)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1/5040 (pow im 7))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1/120 binary64)) im) im) #s(literal 1/5040 binary64)) (pow.f64 im #s(literal 7 binary64))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (-.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64))))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1/5040 (pow im 6))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64)))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 6 binary64))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1/120 binary64)) im) im) #s(literal 1/5040 binary64))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) #s(hole binary64 (* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64)))))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (neg im)) (/ 1 (exp (neg im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1/5040 (pow im 4))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64)))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) #s(hole binary64 (* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (* (- (* (* im im) -1/5040) 1/120) im) im) (*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1/5040 (pow im 3))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/5040 binary64)))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) #s(hole binary64 (* -1 (* (pow im 3) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))))
#s(approx (* (- (* (* im im) -1/5040) 1/120) im) (*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1/60 (pow im 2))))
#s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im)))
#s(approx (+ (* -1/60 (* im im)) -1/3) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))))
#s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 (*.f64 (neg.f64 im) im) (+.f64 (/.f64 #s(literal 1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64))))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (neg im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1/3 (pow im 2))))
#s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
#s(approx (+ (* (* im im) -1/3) -2) #s(hole binary64 (* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))))
#s(approx (+ (* (* im im) -1/3) -2) (*.f64 (*.f64 (neg.f64 im) im) (-.f64 (/.f64 #s(literal 2 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
#s(approx (exp (neg im)) #s(hole binary64 (exp (neg im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (neg.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/5040 binary64)) (/.f64 #s(literal -1/120 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 7 binary64))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) #s(hole binary64 (* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))))
#s(approx (* (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) im) (*.f64 (neg.f64 (+.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/5040 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/120 binary64) (*.f64 im im))))) (pow.f64 im #s(literal 7 binary64))))
#s(approx (* (sinh (neg im)) (sin re)) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (sinh (neg im)) (sin re)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (sinh (neg im)) #s(hole binary64 (* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (sinh (neg im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) #s(hole binary64 (* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) #s(hole binary64 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))))
#s(approx (* (sin re) (* 2 (sinh (neg im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
#s(approx (* 2 (sinh (neg im))) #s(hole binary64 (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
#s(approx (* 2 (sinh (neg im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (- (exp (neg im)) (exp im)) #s(hole binary64 (- (exp (* -1 im)) (exp im))))
#s(approx (- (exp (neg im)) (exp im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (exp (neg im)) #s(hole binary64 (exp (* -1 im))))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))

rewrite115.0ms (1.3%)

Memory
9.0MiB live, 107.4MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
065427
0104427
1342424
02401424
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
30 → 249
Calls
Call 1
Inputs
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)
#s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (sin re) re)
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))
Outputs
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(*.f64 (sin.f64 re) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) (*.f64 im #s(literal -1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im #s(literal -1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re)
(*.f64 re (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) re) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) re) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64)))
(/.f64 (*.f64 re (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(fma.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) re (*.f64 #s(literal -1 binary64) re))
(fma.f64 re (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re #s(literal -1 binary64)))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 re re) #s(literal 1/6 binary64))))
(fma.f64 #s(literal -1 binary64) re (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) re))
(+.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) re) (*.f64 #s(literal -1 binary64) re))
(+.f64 (*.f64 #s(literal -1 binary64) re) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) re))
(+.f64 (*.f64 re (*.f64 (*.f64 re re) #s(literal 1/6 binary64))) (*.f64 re #s(literal -1 binary64)))
(+.f64 (*.f64 re #s(literal -1 binary64)) (*.f64 re (*.f64 (*.f64 re re) #s(literal 1/6 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re)) im)
(*.f64 im #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re)))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(approx (sin re) re) #s(literal 1/2 binary64)))
(*.f64 #s(approx (sin re) re) (*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re)))
(*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (sin re) re))
(*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (sin re) re)
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(*.f64 re (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) re) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64))) re) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 re (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) re (*.f64 #s(literal 1/2 binary64) re))
(fma.f64 #s(literal 1/2 binary64) re (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) re))
(fma.f64 re (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) (*.f64 re #s(literal 1/2 binary64)))
(fma.f64 re #s(literal 1/2 binary64) (*.f64 re (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)))
(+.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) re) (*.f64 #s(literal 1/2 binary64) re))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) re))
(+.f64 (*.f64 re (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (*.f64 re #s(literal 1/2 binary64)))
(+.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 re (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) (*.f64 re #s(literal 1/2 binary64))))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) #s(literal 1/2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re)) re))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 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 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re))
(*.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)) (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)) (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re))
(*.f64 (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)) re)
(*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) re) (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/1728 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) re) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 re (fma.f64 #s(literal -1/1728 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64))))
(fma.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) re (*.f64 #s(literal 1/2 binary64) re))
(fma.f64 #s(literal 1/2 binary64) re (*.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) re))
(fma.f64 re (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) (*.f64 re #s(literal 1/2 binary64)))
(fma.f64 re #s(literal 1/2 binary64) (*.f64 re (*.f64 #s(literal -1/12 binary64) (*.f64 re re))))
(+.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) re) (*.f64 #s(literal 1/2 binary64) re))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) re))
(+.f64 (*.f64 re (*.f64 #s(literal -1/12 binary64) (*.f64 re re))) (*.f64 re #s(literal 1/2 binary64)))
(+.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 re (*.f64 #s(literal -1/12 binary64) (*.f64 re re))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/1728 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal -1/1728 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64)))))
(/.f64 (fma.f64 #s(literal -1/1728 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64))))
(fma.f64 (*.f64 #s(literal -1/12 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/12 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 #s(literal -1/12 binary64) re) re #s(literal 1/2 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/12 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/12 binary64)) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/12 binary64) (*.f64 re re) #s(literal 1/2 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(fma.f64 re (*.f64 #s(literal -1/12 binary64) re) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 re re)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/12 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) (*.f64 #s(literal -1/12 binary64) re)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64)))) (/.f64 #s(literal 1/8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal -1/24 binary64)))))
(+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re re)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (*.f64 re re)))
(*.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/5040 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/5040 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/5040 binary64)))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 im (*.f64 #s(literal -1/5040 binary64) im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 im im)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) (*.f64 im im)) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im)
(*.f64 im (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) im) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64))) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 re re) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 re)) (neg.f64 re) #s(literal -1 binary64))
(fma.f64 (*.f64 re #s(literal 1/6 binary64)) re #s(literal -1 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64))
(fma.f64 re (*.f64 re #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 re #s(literal 1/6 binary64))) re))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))) (/.f64 #s(literal -1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 re re) #s(literal 1/6 binary64)))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64)) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(/.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64))))
(fma.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/60 binary64) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 #s(literal -1/60 binary64) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/60 binary64) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 #s(literal 1/60 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/60 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))) (/.f64 #s(literal -1/27 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(+.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 #s(literal -1/60 binary64) (*.f64 im im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal 1/240 binary64) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 #s(literal 1/240 binary64) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/240 binary64) re) re)
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal 1/240 binary64)))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1/240 binary64)))
(*.f64 #s(literal 1/240 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1/240 binary64))
(*.f64 re (*.f64 #s(literal 1/240 binary64) re))
(/.f64 (-.f64 #s(literal 4 binary64) (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64) #s(literal -8 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64) #s(literal -8 binary64)) (+.f64 #s(literal 4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64) #s(literal -8 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64))))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -2 binary64))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) im #s(literal -2 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)) #s(literal -2 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) im) #s(literal -2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))) (/.f64 #s(literal 4 binary64) (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))))
(-.f64 #s(literal -2 binary64) (*.f64 #s(literal 1/3 binary64) (*.f64 im im)))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/3 binary64)))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/3 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))) (/.f64 #s(literal -8 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 im im) #s(literal 2/3 binary64)))))
(+.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 im im)))
#s(approx (exp (neg im)) #s(literal 1 binary64))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64))))
(-.f64 (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (cosh.f64 im)) (sinh.f64 im))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64)))))
(-.f64 (/.f64 (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (+.f64 (exp.f64 im) #s(approx (exp (neg im)) #s(literal 1 binary64))) (pow.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) #s(literal 2 binary64)))))
(-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im))

eval55.0ms (0.6%)

Memory
-35.1MiB live, 103.4MiB allocated; 22ms collecting garbage
Compiler

Compiled 13 611 to 1 937 computations (85.8% saved)

prune40.0ms (0.5%)

Memory
39.9MiB live, 86.2MiB allocated; 4ms collecting garbage
Pruning

33 alts after pruning (29 fresh and 4 done)

PrunedKeptTotal
New37515390
Fresh41418
Picked415
Done033
Total38333416
Accuracy
99.9%
Counts
416 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
53.6%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
54.7%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
53.6%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
53.6%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
49.1%
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
48.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
55.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
58.8%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
59.2%
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
51.7%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
51.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
55.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
54.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
54.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
40.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
54.6%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
51.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
92.4%
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re))
90.0%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
92.4%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re))
82.5%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
30.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
30.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64))))) im))
50.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
29.2%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
35.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
34.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
23.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
34.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
Compiler

Compiled 2 494 to 1 041 computations (58.3% saved)

regimes99.0ms (1.1%)

Memory
-9.6MiB live, 180.2MiB allocated; 27ms collecting garbage
Counts
56 → 1
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (- (* -1/60 (* im im)) 1/3) (* im im)) -2) (*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im) #s(literal 1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64))))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Calls

6 calls:

20.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
18.0ms
re
18.0ms
im
14.0ms
(sin.f64 re)
14.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
AccuracySegmentsBranch
99.9%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
99.9%1(sin.f64 re)
99.9%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
99.9%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.9%1re
99.9%1im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes111.0ms (1.3%)

Memory
-25.4MiB live, 150.4MiB allocated; 72ms collecting garbage
Counts
47 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re))
Calls

6 calls:

48.0ms
(sin.f64 re)
15.0ms
im
12.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
12.0ms
re
12.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
92.4%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
92.4%1(sin.f64 re)
92.4%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
92.4%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
95.0%2re
96.0%3im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes18.0ms (0.2%)

Memory
-21.3MiB live, 28.0MiB allocated; 6ms collecting garbage
Counts
45 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re))
Calls

1 calls:

16.0ms
re
Results
AccuracySegmentsBranch
95.0%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes62.0ms (0.7%)

Memory
29.9MiB live, 123.7MiB allocated; 4ms collecting garbage
Counts
41 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
Calls

6 calls:

12.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
12.0ms
im
11.0ms
re
10.0ms
(sin.f64 re)
8.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
94.2%3(sin.f64 re)
94.2%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
90.0%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
90.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
94.1%3im
93.8%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes37.0ms (0.4%)

Memory
-32.9MiB live, 17.5MiB allocated; 7ms collecting garbage
Counts
39 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
Calls

1 calls:

35.0ms
re
Results
AccuracySegmentsBranch
93.8%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes62.0ms (0.7%)

Memory
11.8MiB live, 103.5MiB allocated; 8ms collecting garbage
Counts
38 → 5
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
Outputs
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
Calls

6 calls:

11.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
11.0ms
(sin.f64 re)
10.0ms
re
10.0ms
im
10.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
85.3%2(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
84.4%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
95.8%5im
89.7%3(sin.f64 re)
89.7%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
89.3%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes22.0ms (0.3%)

Memory
0.8MiB live, 45.4MiB allocated; 4ms collecting garbage
Counts
35 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
Calls

2 calls:

11.0ms
re
9.0ms
im
Results
AccuracySegmentsBranch
89.3%2re
93.6%5im
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes67.0ms (0.8%)

Memory
-2.2MiB live, 53.0MiB allocated; 5ms collecting garbage
Counts
33 → 4
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (-.f64 #s(approx (exp (neg im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
Outputs
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re))
Calls

4 calls:

38.0ms
(sin.f64 re)
9.0ms
im
9.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
9.0ms
re
Results
AccuracySegmentsBranch
80.5%5(sin.f64 re)
80.5%5(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
89.8%4im
73.1%2re
Compiler

Compiled 8 to 12 computations (-50% saved)

regimes25.0ms (0.3%)

Memory
17.0MiB live, 61.5MiB allocated; 5ms collecting garbage
Counts
30 → 4
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
Outputs
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

3 calls:

9.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
8.0ms
im
6.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
82.1%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
83.7%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
86.4%4im
Compiler

Compiled 18 to 18 computations (0% saved)

regimes85.0ms (1%)

Memory
-12.1MiB live, 117.6MiB allocated; 32ms collecting garbage
Counts
29 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Calls

6 calls:

36.0ms
re
18.0ms
im
10.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
8.0ms
(sin.f64 re)
6.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
58.2%2re
69.3%2(sin.f64 re)
69.3%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
55.4%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.0%2(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
59.7%2im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes34.0ms (0.4%)

Memory
10.4MiB live, 50.2MiB allocated; 20ms collecting garbage
Counts
28 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)) re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 #s(approx (+ (* (* im im) -1/3) -2) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) (*.f64 #s(literal 2 binary64) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64)) (*.f64 re re) #s(literal -1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
Outputs
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
Calls

2 calls:

25.0ms
(sin.f64 re)
8.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
68.5%2(sin.f64 re)
68.5%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes22.0ms (0.3%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes29.0ms (0.3%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes8.0ms (0.1%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes48.0ms (0.5%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes43.0ms (0.5%)

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

6 calls:

32.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
re
2.0ms
(sin.f64 re)
2.0ms
im
Results
AccuracySegmentsBranch
34.6%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
34.6%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
34.6%1re
34.6%1im
41.5%2(sin.f64 re)
41.5%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes4.0ms (0%)

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

2 calls:

2.0ms
(sin.f64 re)
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Results
AccuracySegmentsBranch
41.5%2(sin.f64 re)
41.5%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes3.0ms (0%)

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

2 calls:

1.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
41.5%2(sin.f64 re)
41.5%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes40.0ms (0.5%)

Memory
-21.0MiB live, 26.1MiB allocated; 1ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

35.0ms
(sin.f64 re)
1.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
re
1.0ms
im
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
29.2%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.2%1im
29.2%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
29.2%1re
29.2%1(sin.f64 re)
29.2%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 25 to 28 computations (-12% saved)

bsearch16.0ms (0.2%)

Memory
2.1MiB live, 48.0MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
15.0ms
5.9508302700904916e-36
2.312319214002237e-34
Samples
7.0ms11×2valid
3.0ms14×1valid
2.0ms23×0valid
Compiler

Compiled 125 to 105 computations (16% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-exp: 8.0ms (74.4% of total)
adjust: 1.0ms (9.3% of total)
ival-mult: 1.0ms (9.3% of total)
ival-sin: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-neg: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
3.4MiB live, 3.4MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
0.0ms
5.9508302700904916e-36
2.312319214002237e-34
Compiler

Compiled 113 to 90 computations (20.4% saved)

bsearch1.0ms (0%)

Memory
3.0MiB live, 3.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
0.0ms
5.9508302700904916e-36
2.312319214002237e-34
Compiler

Compiled 98 to 84 computations (14.3% saved)

bsearch1.0ms (0%)

Memory
2.7MiB live, 2.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
0.0ms
5.9508302700904916e-36
2.312319214002237e-34
Compiler

Compiled 122 to 102 computations (16.4% saved)

bsearch120.0ms (1.4%)

Memory
-9.6MiB live, 176.3MiB allocated; 32ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
2.1479733736185903e+101
3.56267795813036e+104
24.0ms
2.0689565018752865e-7
253201654024.8168
23.0ms
-951840438056952.0
-0.21739857285739272
24.0ms
-1.6229744179470606e+105
-3.158654504460877e+103
Samples
55.0ms560×0valid
Compiler

Compiled 819 to 750 computations (8.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-sin: 17.0ms (40.7% of total)
ival-mult: 10.0ms (23.9% of total)
ival-exp: 9.0ms (21.6% of total)
ival-sub: 3.0ms (7.2% of total)
ival-neg: 2.0ms (4.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)

bsearch14.0ms (0.2%)

Memory
22.7MiB live, 22.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
12.0ms
5.9508302700904916e-36
2.312319214002237e-34
Samples
4.0ms10×2valid
3.0ms39×0valid
3.0ms15×1valid
Compiler

Compiled 231 to 204 computations (11.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-exp: 4.0ms (54.3% of total)
adjust: 1.0ms (13.6% of total)
ival-mult: 1.0ms (13.6% of total)
ival-sin: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-neg: 0.0ms (0% of total)

bsearch50.0ms (0.6%)

Memory
-30.1MiB live, 66.5MiB allocated; 15ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
predicate-same
Steps
TimeLeftRight
17.0ms
2.0689565018752865e-7
253201654024.8168
21.0ms
-951840438056952.0
-0.21739857285739272
6.0ms
-1.6229744179470606e+105
-3.158654504460877e+103
Samples
16.0ms176×0valid
Compiler

Compiled 662 to 599 computations (9.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sin: 4.0ms (34.6% of total)
ival-exp: 3.0ms (26% of total)
ival-mult: 2.0ms (17.3% of total)
ival-sub: 1.0ms (8.7% of total)
ival-neg: 1.0ms (8.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch47.0ms (0.5%)

Memory
27.4MiB live, 116.6MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
predicate-same
Steps
TimeLeftRight
23.0ms
2.0689565018752865e-7
253201654024.8168
19.0ms
-951840438056952.0
-0.21739857285739272
1.0ms
-1.6229744179470606e+105
-3.158654504460877e+103
Samples
30.0ms256×0valid
Compiler

Compiled 1 574 to 1 151 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sin: 6.0ms (33.8% of total)
ival-exp: 5.0ms (28.2% of total)
ival-mult: 3.0ms (16.9% of total)
ival-sub: 1.0ms (5.6% of total)
ival-neg: 1.0ms (5.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01458742714536819
8.943365424275535e-301
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.01458742714536819
8.943365424275535e-301
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.01458742714536819
8.943365424275535e-301
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.01458742714536819
8.943365424275535e-301
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.01458742714536819
8.943365424275535e-301
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01458742714536819
8.943365424275535e-301
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01458742714536819
8.943365424275535e-301
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01458742714536819
8.943365424275535e-301
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.01458742714536819
8.943365424275535e-301
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify86.0ms (1%)

Memory
-3.2MiB live, 99.2MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01911034
12701027
24241013
3806991
42708991
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im)))
(if (<=.f64 im #s(literal -31999999999999999265584424487850772110298967037572800196159871191423790469785277161704361423408369500160 binary64)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re)) (if (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (if (<=.f64 im #s(literal 5404319552844595/72057594037927936 binary64)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re)) (if (<=.f64 im #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))))))
(if (<=.f64 re #s(literal 5378326025377723/23384026197294446691258957323460528314494920687616 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (if (<=.f64 im #s(literal 1936908127739503/4611686018427387904 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -500 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal 700 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (neg.f64 im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/5040 binary64) #s(literal -1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64)) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4676805239458889/46768052394588893382517914646921056628989841375232 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im)))
(if (<=.f64 im #s(literal -31999999999999999265584424487850772110298967037572800196159871191423790469785277161704361423408369500160 binary64)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re)) (if (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (if (<=.f64 im #s(literal 5404319552844595/72057594037927936 binary64)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re)) (if (<=.f64 im #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))))))
(if (or (<=.f64 im #s(literal -31999999999999999265584424487850772110298967037572800196159871191423790469785277161704361423408369500160 binary64)) (not (or (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (not (or (<=.f64 im #s(literal 5404319552844595/72057594037927936 binary64)) (not (<=.f64 im #s(literal 10500000000000000815831766655872649178879125871197860277834278179049830808884244966648174743689294249984 binary64)))))))) (*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)))
(if (<=.f64 re #s(literal 5378326025377723/23384026197294446691258957323460528314494920687616 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) (if (<=.f64 im #s(literal 1936908127739503/4611686018427387904 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (or (<=.f64 im #s(literal -2116691824864133/9007199254740992 binary64)) (not (<=.f64 im #s(literal 1936908127739503/4611686018427387904 binary64)))) (*.f64 (sinh.f64 (neg.f64 im)) #s(approx (sin re) re)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -500 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal 700 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))))
(if (<=.f64 im #s(literal -999999999999999938258300825281978540327027364472124478294416212538871491824599713636820527503908255301632 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (or (<=.f64 im #s(literal -500 binary64)) (not (<=.f64 im #s(literal 700 binary64)))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) im) im #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 (*.f64 #s(approx (sin re) re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/576460752303423488 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re))) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) re)) im))

derivations1.1s (12.3%)

Memory
7.1MiB live, 848.9MiB allocated; 184ms collecting garbage
Stop Event
fuel
Compiler

Compiled 1 004 to 200 computations (80.1% saved)

preprocess175.0ms (2%)

Memory
0.9MiB live, 155.7MiB allocated; 31ms collecting garbage
Remove

(negabs re)

Compiler

Compiled 2 124 to 488 computations (77% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...