math.cos on complex, imaginary part

Time bar (total: 9.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 13 to 12 computations (7.7% saved)

sample2.7s (28.3%)

Memory
70.9MiB live, 3 624.7MiB allocated; 996ms collecting garbage
Samples
809.0ms1 160×2valid
777.0ms4 354×0valid
676.0ms2 742×1valid
Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-exp: 991.0ms (51.7% of total)
ival-sin: 309.0ms (16.1% of total)
ival-mult: 268.0ms (14% of total)
adjust: 131.0ms (6.8% of total)
ival-neg: 111.0ms (5.8% of total)
ival-sub: 92.0ms (4.8% 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

explain300.0ms (3.2%)

Memory
31.9MiB live, 463.3MiB allocated; 58ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1410-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))cancellation1410
Confusion
Predicted +Predicted -
+1030
-38115
Precision
0.7304964539007093
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+10300
-380115
Precision?
0.7304964539007093
Recall?
1.0
Freqs
test
numberfreq
0115
1141
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
106.0ms130×2valid
71.0ms148×1valid
26.0ms234×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 149.0ms
ival-exp: 106.0ms (71.2% of total)
ival-sin: 12.0ms (8.1% of total)
adjust: 10.0ms (6.7% of total)
ival-mult: 9.0ms (6% of total)
ival-sub: 8.0ms (5.4% of total)
ival-neg: 2.0ms (1.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess184.0ms (2%)

Memory
-5.9MiB live, 180.6MiB allocated; 55ms 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.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.2%
(*.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)

simplify159.0ms (1.7%)

Memory
7.6MiB live, 237.1MiB allocated; 41ms 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)

localize121.0ms (1.3%)

Memory
-32.5MiB live, 172.2MiB allocated; 35ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.00390625
(sin.f64 re)
accuracy0.06640625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
accuracy32.46636344408786
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Samples
49.0ms74×1valid
34.0ms65×2valid
12.0ms117×0valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 46.0ms
ival-exp: 26.0ms (56.4% of total)
ival-sin: 6.0ms (13% of total)
adjust: 5.0ms (10.9% of total)
ival-mult: 4.0ms (8.7% of total)
ival-sub: 2.0ms (4.3% of total)
ival-neg: 1.0ms (2.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated; 0ms collecting garbage
Counts
5 → 31
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)
Outputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* 1/2 (sin re))
(sin re)
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 (* im (sin re)))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp im)
(- (exp (* -1 im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
Calls

6 calls:

TimeVariablePointExpression
1.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))
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))
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))
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))
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))

simplify192.0ms (2%)

Memory
30.6MiB live, 212.7MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0136402
1444370
21541357
34342347
08203320
Stop Event
iter limit
node limit
Counts
31 → 30
Calls
Call 1
Inputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* 1/2 (sin re))
(sin re)
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 (* im (sin re)))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (exp im))
(exp im)
(- (exp (* -1 im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
Outputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (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))
(* 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))))))))
(*.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)
(* 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)))))))))
(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))))
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/10080 binary64) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) (*.f64 #s(literal 1/2 binary64) re))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64))) re)
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* 1/2 (sin re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(sin re)
(sin.f64 re)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.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)
(* -1 (* im (sin re)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(*.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)
(* 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)))))))))
(*.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)
1
#s(literal 1 binary64)
(+ 1 im)
(+.f64 #s(literal 1 binary64) im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp im)
(exp.f64 im)
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite152.0ms (1.6%)

Memory
-31.3MiB live, 157.1MiB allocated; 36ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
01725
14325
226823
0359623
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
5 → 122
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)
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))

eval18.0ms (0.2%)

Memory
6.1MiB live, 51.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 4 052 to 635 computations (84.3% saved)

prune10.0ms (0.1%)

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

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New13812150
Fresh000
Picked101
Done000
Total13912151
Accuracy
99.9%
Counts
151 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
20.1%
(/.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)))
99.9%
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
39.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
55.7%
(*.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.1%
(*.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.5%
(*.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)))
83.6%
(*.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)))
53.1%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
92.1%
#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))
89.4%
#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))
82.3%
#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))))
56.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
Compiler

Compiled 544 to 400 computations (26.5% saved)

simplify319.0ms (3.4%)

Memory
-21.0MiB live, 313.6MiB allocated; 59ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 1/2 binary64) re)
cost-diff0
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
cost-diff0
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
cost-diff1
(-.f64 (exp.f64 (neg.f64 im)) (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
042268
069267
1129265
2308263
3941253
44831253
09067253
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 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
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 (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 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (*.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
(exp.f64 im)

localize223.0ms (2.4%)

Memory
-6.5MiB live, 281.7MiB allocated; 50ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.06640625
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
accuracy30.24517765094591
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
accuracy32.46636344408786
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy0.0546875
(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.06640625
(*.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.140625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.0065197804089205
#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.06640625
(*.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.11328125
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
accuracy10.340616704607427
#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
(neg.f64 (sin.f64 re))
accuracy0.00390625
(sin.f64 re)
accuracy0.10546875
(*.f64 (neg.f64 (sin.f64 re)) im)
accuracy27.705980116606362
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
accuracy0.00390625
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
accuracy0.00390625
(sin.f64 re)
accuracy0.01171875
(sinh.f64 (neg.f64 im))
accuracy0.06640625
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
Samples
74.0ms74×1valid
59.0ms65×2valid
52.0ms117×0valid
Compiler

Compiled 212 to 33 computations (84.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 120.0ms
ival-sin: 29.0ms (24.2% of total)
ival-exp: 27.0ms (22.6% of total)
ival-mult: 23.0ms (19.2% of total)
adjust: 14.0ms (11.7% of total)
const: 12.0ms (10% of total)
ival-neg: 6.0ms (5% of total)
ival-sub: 4.0ms (3.3% of total)
ival-add: 3.0ms (2.5% of total)
ival-sinh: 2.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series41.0ms (0.4%)

Memory
8.7MiB live, 51.7MiB allocated; 15ms collecting garbage
Counts
22 → 75
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 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
(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))
(exp.f64 im)
Outputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
(* re (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))
(* 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)))))
(* 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)))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))
(sin re)
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* -1 (* im (sin re)))
(* -1 (sin re))
(* 1/2 (sin re))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -2 (* im (sin re)))
(* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))
(* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
-2
(- (* -1/3 (pow im 2)) 2)
(* -1/60 (pow im 2))
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (/ 1 (exp (neg im))))
(- (exp (neg im)) (exp im))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/3 (pow im 2))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* -1/60 (pow im 4))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp im)
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(- (exp (* -1 im)) (/ 1 (exp (* -1 im))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
Calls

6 calls:

TimeVariablePointExpression
21.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)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (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 im))
7.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)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (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 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)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (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 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)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (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 im))
3.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)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (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 im))

simplify206.0ms (2.2%)

Memory
35.9MiB live, 265.3MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02771108
1947950
23749926
08137865
Stop Event
iter limit
node limit
Counts
75 → 74
Calls
Call 1
Inputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
(* re (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (neg im)))))
(* 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)))))
(* 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)))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))
(sin re)
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* -1 (* im (sin re)))
(* -1 (sin re))
(* 1/2 (sin re))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -2 (* im (sin re)))
(* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))
(* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
-2
(- (* -1/3 (pow im 2)) 2)
(* -1/60 (pow im 2))
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2)
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(- (exp (neg im)) (/ 1 (exp (neg im))))
(- (exp (neg im)) (exp im))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/3 (pow im 2))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(* -1/60 (pow im 4))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(exp im)
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(- (exp (* -1 im)) (/ 1 (exp (* -1 im))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
Outputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (- (exp (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))))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (- (exp (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)))))))))))
(*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* re (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
(* re (- (+ (exp (neg im)) (* -1/6 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im))))))) (/ 1 (exp (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)
(* 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)))))
(*.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)
(* 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)))))
(*.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)
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.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)
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (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)
(* 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))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (- (exp (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)))))))))
(*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* -1 (* im re))
(*.f64 (neg.f64 re) im)
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 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))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(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))
(* -1 re)
(neg.f64 re)
(* re (- (* 1/6 (pow re 2)) 1))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(*.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)
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(*.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)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.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))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))
(sin re)
(sin.f64 re)
(* 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)))
(* -1 (* im (sin re)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(* -1 (sin re))
(neg.f64 (sin.f64 re))
(* 1/2 (sin re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im)
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re))) im)
(* 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)))))))))
(*.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)
(* -2 (* im (sin re)))
(*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 re)) im)
(* im (+ (* -2 (sin re)) (* -1/3 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))) im)
(* im (+ (* -2 (sin re)) (* (pow im 2) (+ (* -1/3 (sin re)) (* -1/60 (* (pow im 2) (sin re)))))))
(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))
(* 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)))))))))
(*.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)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.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)
(* -1 im)
(neg.f64 im)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.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)
-2
#s(literal -2 binary64)
(- (* -1/3 (pow im 2)) 2)
(fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 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))
1
#s(literal 1 binary64)
(+ 1 im)
(-.f64 im #s(literal -1 binary64))
(+ 1 (* im (+ 1 (* 1/2 im))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) im #s(literal 1/2 binary64)) im #s(literal 1 binary64)) im #s(literal 1 binary64))
(- (exp (neg im)) (/ 1 (exp (neg im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(* -1/3 (pow im 2))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im))
(* -1/3 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (pow.f64 im #s(literal 3 binary64)))
(* -1/60 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/60 binary64))
(* -1 (* (pow im 4) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal -1/60 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/3 (* 2 (/ 1 (pow im 2)))) (pow im 2))) 1/60))
(*.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)))
(exp im)
(exp.f64 im)
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))
(- (exp (* -1 im)) (/ 1 (exp (* -1 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))

rewrite120.0ms (1.3%)

Memory
-65.4MiB live, 119.0MiB allocated; 50ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042204
069203
1182189
01071189
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 213
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 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
(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))
(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 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (sinh.f64 (neg.f64 im))) #s(literal 1/2 binary64))
(*.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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.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))
(*.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 (*.f64 #s(literal 2 binary64) (sin.f64 re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal 2 binary64))
(/.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)))))
(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 (*.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 (*.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 (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 #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 (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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/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)))
(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 (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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/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)))
(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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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)))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
(*.f64 re #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 1/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 #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))
(/.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))

eval34.0ms (0.4%)

Memory
-8.9MiB live, 84.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 6 635 to 1 074 computations (83.8% saved)

prune20.0ms (0.2%)

Memory
-3.5MiB live, 49.1MiB allocated; 4ms collecting garbage
Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New25418272
Fresh527
Picked415
Done000
Total26321284
Accuracy
99.9%
Counts
284 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
19.5%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
92.1%
(*.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))
55.7%
(*.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))))))
83.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
45.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) #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))))))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
65.7%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
57.7%
(*.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)))
54.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)))
35.0%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
60.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)))
55.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)))
82.3%
#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))
28.0%
#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.4%
#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))
56.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
40.6%
#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))
44.3%
#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))
40.0%
#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))
39.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
40.0%
#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 061 to 778 computations (26.7% saved)

simplify191.0ms (2%)

Memory
17.3MiB live, 154.6MiB allocated; 10ms collecting garbage
Localize:

Found 20 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)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
cost-diff2
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
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)) #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 (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))
cost-diff0
(*.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)
cost-diff0
#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))
cost-diff1
(*.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)
cost-diff0
(neg.f64 re)
cost-diff0
#s(approx (neg (sin re)) (neg.f64 re))
cost-diff0
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
cost-diff0
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 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: 0 (0.0ms)

IterNodesCost
050363
081360
1153360
2401360
31293356
44466346
08129343
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 #s(approx (neg (sin re)) (neg.f64 re)) im))
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
#s(approx (neg (sin re)) (neg.f64 re))
(neg.f64 re)
re
im
#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 #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)
#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))
(*.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)
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 re re)
re
#s(literal 1/6 binary64)
#s(literal -1 binary64)
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)))
#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)
#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)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) im)
#s(literal -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 #s(approx (neg (sin re)) (neg.f64 re)) im))
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
#s(approx (neg (sin re)) (neg.f64 re))
(neg.f64 re)
re
im
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (neg.f64 re))) 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 #s(approx (neg (sin re)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (neg.f64 re))) im)
#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)) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (neg.f64 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)
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (neg.f64 re))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64))
#s(literal -1/120 binary64)
(*.f64 re re)
re
#s(literal 1/6 binary64)
#s(literal -1 binary64)
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 (- (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 (* 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)
#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(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
#s(literal -1/3 binary64)
(*.f64 im im)
im
(*.f64 #s(literal -2 binary64) im)
#s(literal -2 binary64)

localize316.0ms (3.4%)

Memory
7.8MiB live, 291.1MiB allocated; 58ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0390625
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
accuracy0.06640625
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
accuracy0.1953125
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
accuracy10.340616704607427
#s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
accuracy0.12337875976844202
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
accuracy0.140625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy6.0065197804089205
#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))
accuracy30.2619317973325
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
accuracy0.07421875
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))
accuracy0.10546875
(*.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)
accuracy27.705980116606362
#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))
accuracy30.202479050756835
#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))
accuracy0.0
(neg.f64 re)
accuracy0.10546875
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
accuracy27.705980116606362
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
accuracy30.245434678646628
#s(approx (neg (sin re)) (neg.f64 re))
accuracy0.0
(neg.f64 im)
accuracy0.00390625
(sin.f64 re)
accuracy0.01171875
(sinh.f64 (neg.f64 im))
accuracy0.06640625
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Samples
115.0ms65×2valid
79.0ms117×0valid
68.0ms74×1valid
Compiler

Compiled 242 to 44 computations (81.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 201.0ms
ival-mult: 62.0ms (30.8% of total)
ival-exp: 45.0ms (22.3% of total)
adjust: 37.0ms (18.4% of total)
const: 34.0ms (16.9% of total)
ival-add: 8.0ms (4% of total)
ival-sin: 6.0ms (3% of total)
ival-sub: 4.0ms (2% of total)
ival-neg: 3.0ms (1.5% of total)
ival-sinh: 2.0ms (1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series16.0ms (0.2%)

Memory
18.2MiB live, 18.2MiB allocated; 0ms collecting garbage
Counts
24 → 67
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 #s(approx (neg (sin re)) (neg.f64 re)) im))
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
#s(approx (neg (sin re)) (neg.f64 re))
(neg.f64 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 (* (* 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 #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)
#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))
(*.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)))
#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))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 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))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
Outputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
1/2
(+ 1/2 (* -1/12 (pow re 2)))
1/6
(+ 1/6 (* -1/120 (pow re 2)))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(sin re)
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* -1 (* im (sin re)))
(* -1 (sin re))
(* -1/120 (pow re 5))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(* 1/2 (sin re))
(* -1/12 (pow re 3))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/12 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/120 (pow re 2))
(* (pow re 2) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1/60 (pow im 2))
(* -1/3 (pow im 2))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(- (exp (neg im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
Calls

6 calls:

TimeVariablePointExpression
3.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)) (neg re) (* (+ (* (+ (* -1/120 (* re re)) 1/6) (* re re)) -1) re) (* (* 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)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (+ (* (* -1/3 (* im im)) im) (* -2 im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (+ (* -1/120 (* re re)) 1/6) (- (exp (neg im)) (exp im)) (* -1/60 (* im im)) (- (exp (neg im)) (exp im)) (* -1/3 (* im im)))
3.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)) (neg re) (* (+ (* (+ (* -1/120 (* re re)) 1/6) (* re re)) -1) re) (* (* 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)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (+ (* (* -1/3 (* im im)) im) (* -2 im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (+ (* -1/120 (* re re)) 1/6) (- (exp (neg im)) (exp im)) (* -1/60 (* im im)) (- (exp (neg im)) (exp im)) (* -1/3 (* im im)))
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)) (neg re) (* (+ (* (+ (* -1/120 (* re re)) 1/6) (* re re)) -1) re) (* (* 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)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (+ (* (* -1/3 (* im im)) im) (* -2 im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (+ (* -1/120 (* re re)) 1/6) (- (exp (neg im)) (exp im)) (* -1/60 (* im im)) (- (exp (neg im)) (exp im)) (* -1/3 (* im im)))
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)) (neg re) (* (+ (* (+ (* -1/120 (* re re)) 1/6) (* re re)) -1) re) (* (* 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)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (+ (* (* -1/3 (* im im)) im) (* -2 im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (+ (* -1/120 (* re re)) 1/6) (- (exp (neg im)) (exp im)) (* -1/60 (* im im)) (- (exp (neg im)) (exp im)) (* -1/3 (* im im)))
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)) (neg re) (* (+ (* (+ (* -1/120 (* re re)) 1/6) (* re re)) -1) re) (* (* 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)) (* (+ (* (* re re) -1/12) 1/2) re) (+ (* (* re re) -1/12) 1/2) (+ (* (* -1/3 (* im im)) im) (* -2 im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (+ (* -1/120 (* re re)) 1/6) (- (exp (neg im)) (exp im)) (* -1/60 (* im im)) (- (exp (neg im)) (exp im)) (* -1/3 (* im im)))

simplify165.0ms (1.8%)

Memory
5.6MiB live, 95.4MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0244909
1753792
22777774
37272774
08051727
Stop Event
iter limit
node limit
Counts
67 → 66
Calls
Call 1
Inputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
1/2
(+ 1/2 (* -1/12 (pow re 2)))
1/6
(+ 1/6 (* -1/120 (pow re 2)))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(sin re)
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* -1 (* im (sin re)))
(* -1 (sin re))
(* -1/120 (pow re 5))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(* 1/2 (sin re))
(* -1/12 (pow re 3))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/12 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/120 (pow re 2))
(* (pow re 2) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(* -1 im)
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1/60 (pow im 2))
(* -1/3 (pow im 2))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/3 (pow im 3))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(- (exp (neg im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(- (exp (* -1 im)) (exp im))
Outputs
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (- (exp (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))))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (- (exp (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)))))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) re)
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (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)
(* 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))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(* re (+ (* 1/2 (- (exp (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)))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) re)
(* -1 (* im re))
(*.f64 (neg.f64 re) im)
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 im (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))) (*.f64 (neg.f64 re) im))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (*.f64 #s(literal 1/5040 binary64) re) re #s(literal -1/120 binary64))) (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))) re)
(* -1 re)
(neg.f64 re)
(* re (- (* 1/6 (pow re 2)) 1))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re)
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(*.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)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/10080 binary64) (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64))) (*.f64 #s(literal 1/2 binary64) re))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/12 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
1/6
#s(literal 1/6 binary64)
(+ 1/6 (* -1/120 (pow re 2)))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(sin re)
(sin.f64 re)
(* 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))
(* -1 (* im (sin re)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(* -1 (sin re))
(neg.f64 (sin.f64 re))
(* -1/120 (pow re 5))
(*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal -1/120 binary64))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (pow.f64 re #s(literal 5 binary64)))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 5 binary64)))
(* 1/2 (sin re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(* -1/12 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/12 binary64))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (pow.f64 re #s(literal 3 binary64)))
(* -1/12 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/12 binary64))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)
(* -1/120 (pow re 2))
(*.f64 #s(literal -1/120 binary64) (*.f64 re re))
(* (pow re 2) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) re) re)
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(*.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal -1/120 binary64)) (pow.f64 re #s(literal 5 binary64)))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(*.f64 (fma.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal -1/120 binary64))) (pow.f64 re #s(literal 5 binary64)))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal -1/12 binary64)) (pow.f64 re #s(literal 3 binary64)))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re))) im)
(* 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)))))))))
(*.f64 (fma.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))) (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)))) im)
(* -1 im)
(neg.f64 im)
(* im (- (* -1/6 (pow im 2)) 1))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.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)
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* -1/3 (pow im 2))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(* -1/3 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))
(* -1 (* (pow im 3) (+ 1/3 (* 2 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (pow.f64 im #s(literal 3 binary64)))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite97.0ms (1%)

Memory
10.9MiB live, 60.7MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050281
081278
1249272
01669269
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 148
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 #s(approx (neg (sin re)) (neg.f64 re)) im))
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
#s(approx (neg (sin re)) (neg.f64 re))
(neg.f64 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 (* (* 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 #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)
#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))
(*.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)))
#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))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 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))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
#s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
Outputs
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.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 (neg.f64 im)))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal 2 binary64))
(sinh.f64 (neg.f64 im))
(neg.f64 (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) #s(literal -2 binary64)))
(neg.f64 (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.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 (neg (sin re)) (neg.f64 re)) im))
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
(*.f64 im #s(approx (neg (sin re)) (neg.f64 re)))
#s(approx (neg (sin re)) (neg.f64 re))
(neg.f64 re)
(*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)
(*.f64 re (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1 binary64)) re) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 3 binary64)) #s(literal -1 binary64)) re) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal -1 binary64)))
(/.f64 (*.f64 re (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re (*.f64 #s(literal -1 binary64) re))
(fma.f64 #s(literal -1 binary64) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re))
(fma.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) (*.f64 re #s(literal -1 binary64)))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (*.f64 #s(literal -1 binary64) re))
(+.f64 (*.f64 #s(literal -1 binary64) re) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re))
(+.f64 (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)) (*.f64 re #s(literal -1 binary64)))
(+.f64 (*.f64 re #s(literal -1 binary64)) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im)
(*.f64 im #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re))
(*.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 (* 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)) #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 (* 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 #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 (neg.f64 re) (*.f64 (neg.f64 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 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(*.f64 im (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(*.f64 im (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im)))
(/.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im)))))
(/.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal -2 binary64) im))
(fma.f64 (*.f64 #s(literal -1/3 binary64) im) (*.f64 im im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 im #s(literal 3 binary64)) (*.f64 #s(literal -2 binary64) im))
(fma.f64 #s(literal -2 binary64) im (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/3 binary64) im) (*.f64 #s(literal -2 binary64) im))
(fma.f64 im (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) (*.f64 #s(literal -2 binary64) im))
(fma.f64 im #s(literal -2 binary64) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64) (*.f64 #s(literal 2 binary64) im))))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 (neg.f64 im) #s(literal -2 binary64)))
(-.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal 2 binary64) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im))) im))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 #s(literal 1/3 binary64) (pow.f64 im #s(literal 3 binary64))))
(-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/3 binary64) (*.f64 im im))))
(+.f64 (/.f64 (*.f64 #s(literal -1/27 binary64) (pow.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(literal -2 binary64) im) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal -2 binary64) im) (-.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64))) (pow.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)) (*.f64 #s(literal -2 binary64) im))
(+.f64 (*.f64 #s(literal -2 binary64) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/3 binary64)))
(*.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))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 re re) #s(literal -1/120 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64)))))
(/.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64))))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (fabs.f64 re)) (fabs.f64 re) #s(literal 1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (neg.f64 re)) (neg.f64 re) #s(literal 1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) re) re #s(literal 1/6 binary64))
(fma.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64))
(fma.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))
(fma.f64 re (*.f64 #s(literal -1/120 binary64) re) #s(literal 1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))))
(-.f64 #s(literal 1/6 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/120 binary64) re)) re))
(-.f64 #s(literal 1/6 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal -1/120 binary64)))
(-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64)))) (/.f64 #s(literal 1/216 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64))
(+.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 re re) #s(literal -1/120 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 (*.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))
#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(literal -1/3 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/3 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/3 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/3 binary64)))
(*.f64 #s(literal -1/3 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/3 binary64))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/3 binary64)))
(*.f64 im (*.f64 #s(literal -1/3 binary64) im))

eval45.0ms (0.5%)

Memory
-32.7MiB live, 60.9MiB allocated; 8ms collecting garbage
Compiler

Compiled 6 820 to 984 computations (85.6% saved)

prune22.0ms (0.2%)

Memory
11.7MiB live, 58.7MiB allocated; 2ms collecting garbage
Pruning

26 alts after pruning (21 fresh and 5 done)

PrunedKeptTotal
New20311214
Fresh51015
Picked145
Done011
Total20926235
Accuracy
99.9%
Counts
235 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
19.5%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
55.7%
(*.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))))))
83.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
45.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (pow.f64 im #s(literal 3 binary64))))))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
65.7%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
58.1%
(*.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 (*.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)))
57.7%
(*.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 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
54.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)))
45.8%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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)))
27.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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)))
60.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) #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)))
35.0%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
55.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)))
83.6%
(*.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))
28.0%
#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.4%
#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))
56.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
44.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im))
40.6%
#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))
44.3%
#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))
44.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
39.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
40.0%
#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)))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)))
Compiler

Compiled 1 404 to 1 011 computations (28% saved)

simplify182.0ms (1.9%)

Memory
-12.6MiB live, 174.3MiB allocated; 23ms collecting garbage
Localize:

Found 20 expressions of interest:

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

Useful iterations: 3 (0.0ms)

IterNodesCost
056479
092475
1199475
2621472
32519462
46947462
08448462
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#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 (*.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 (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)))
(sin.f64 re)
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))
(*.f64 im im)
im
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re))
(*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)
(*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
im
(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)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im))
(*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im)
#s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
re
#s(literal -1 binary64)
(*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64))
(*.f64 re re)
#s(literal -1/120 binary64)
#s(literal 1/6 binary64)
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 (*.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)) (*.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)
#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))
(*.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)
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 #s(literal -1/60 binary64) im)
#s(literal -1/60 binary64)
im
#s(literal 1/3 binary64)
(*.f64 im im)
#s(literal -2 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))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re
Outputs
#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))) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) (sin.f64 re)))
(*.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 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) (sin.f64 re))
(*.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)))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (sin.f64 re))
(sin.f64 re)
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))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(*.f64 im im)
im
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
#s(literal -1/120 binary64)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re)))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re))
(*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re)
(*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im)
im
(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)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) 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)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re))) im))
(*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im)
(*.f64 #s(approx (neg (sin re)) (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re))) im)
#s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
#s(approx (neg (sin re)) (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re)))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
(neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re))
re
#s(literal -1 binary64)
(*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))
(*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)
(fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64))
(*.f64 re re)
#s(literal -1/120 binary64)
#s(literal 1/6 binary64)
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 (*.f64 #s(literal -1/60 binary64) 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 #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)) (*.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)
#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))
(*.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)
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 #s(literal -1/60 binary64) im) im) #s(literal 1/3 binary64))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 #s(literal -1/60 binary64) im)
#s(literal -1/60 binary64)
im
#s(literal 1/3 binary64)
(*.f64 im im)
#s(literal -2 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 #s(approx (sinh (neg im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im))) (sin.f64 re))
#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)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re

localize351.0ms (3.7%)

Memory
26.3MiB live, 504.9MiB allocated; 119ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.04296875
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
accuracy0.06640625
(*.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))
accuracy0.11328125
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
accuracy10.341378990393583
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
accuracy0.12337875976844202
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
accuracy0.14453125
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
accuracy6.0065197804089205
#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))
accuracy30.2619317973325
#s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re))
accuracy0.10546875
(*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im)
accuracy0.19140625
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)
accuracy27.705980116606362
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im))
accuracy30.202479050756835
#s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
accuracy0.12337875976844202
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
accuracy4.031497190064774
(*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
accuracy27.705980116606362
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)))
accuracy30.181491723451824
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re))
accuracy0.0703125
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
accuracy0.08203125
(*.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)
accuracy1.6813133185567604
(*.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)))
accuracy7.429119875173608
#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))
Samples
123.0ms65×2valid
80.0ms74×1valid
47.0ms117×0valid
Compiler

Compiled 338 to 55 computations (83.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 197.0ms
ival-mult: 80.0ms (40.5% of total)
ival-exp: 38.0ms (19.3% of total)
adjust: 28.0ms (14.2% of total)
const: 23.0ms (11.7% of total)
ival-add: 14.0ms (7.1% of total)
ival-sin: 6.0ms (3% of total)
ival-sub: 4.0ms (2% of total)
ival-sinh: 2.0ms (1% of total)
ival-neg: 2.0ms (1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series35.0ms (0.4%)

Memory
18.1MiB live, 63.1MiB allocated; 6ms collecting garbage
Counts
26 → 108
Calls
Call 1
Inputs
#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 (*.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 (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)))
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re))
(*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)
(*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
(*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im))
(*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 (*.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)) (*.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 (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))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
#s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) 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))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
Outputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* im (* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))))
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* 1/120 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))))))
(* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* re (- (+ (* -1/6 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))) 1))
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* 1/120 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))) 1))
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))) 1))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 im)
(+ (* -1 im) (* 1/6 (* im (pow re 2))))
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* -1/120 (pow re 2))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
1/2
(+ 1/2 (* -1/12 (pow re 2)))
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
-1
(- (* 1/6 (pow re 2)) 1)
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/6 re)
(* re (+ 1/6 (* -1/120 (pow re 2))))
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* im (* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(sin re)
(* -1 (* im (sin re)))
(* 1/6 (* im (pow re 3)))
(* (pow re 3) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(* 1/6 (* im (pow re 2)))
(* (pow re 2) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(* -1/120 (pow re 5))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(* 1/2 (sin re))
(* -1/12 (pow re 3))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/12 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* 1/6 (pow re 2))
(* (pow re 2) (- 1/6 (/ 1 (pow re 2))))
(* -1 (sin re))
(* -1/120 (pow re 3))
(* (pow re 3) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* -1 (* (pow re 3) (+ (* -1/6 im) (/ im (pow re 2)))))
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re))))
(+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re))))))
(* im (* re (- (* 1/6 (pow re 2)) 1)))
(* im (- (* 1/6 (pow re 2)) 1))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(- (* -1/6 (pow im 2)) 1)
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1/60 (pow im 2))
(* -1/120 (* (pow im 5) (sin re)))
(* (pow im 5) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(* (pow im 5) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(* -1/120 (* (pow im 4) (sin re)))
(* (pow im 4) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(* (pow im 4) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(* -1/6 (pow im 3))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(- (exp (neg im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (* 1/6 (/ (sin re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (+ (* 1/6 (/ (sin re) (pow im 2))) (/ (sin re) (pow im 4))))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(- (exp (* -1 im)) (exp im))
Calls

6 calls:

TimeVariablePointExpression
9.0ms
im
@inf
((* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* im (+ (* 1/6 (* re re)) -1)) re) (* im (+ (* 1/6 (* re re)) -1)) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re)) (+ (* re -1) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* 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/6) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (* im im) -1/6) -1) (+ (* -1/120 (* im im)) -1/6) (+ (* 1/6 (* re re)) -1) (neg (sin re)) (* (+ (* (* re re) -1/120) 1/6) re) (- (exp (neg im)) (exp im)) (* (* -1/60 im) im))
8.0ms
re
@-inf
((* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* im (+ (* 1/6 (* re re)) -1)) re) (* im (+ (* 1/6 (* re re)) -1)) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re)) (+ (* re -1) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* 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/6) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (* im im) -1/6) -1) (+ (* -1/120 (* im im)) -1/6) (+ (* 1/6 (* re re)) -1) (neg (sin re)) (* (+ (* (* re re) -1/120) 1/6) re) (- (exp (neg im)) (exp im)) (* (* -1/60 im) im))
5.0ms
re
@inf
((* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* im (+ (* 1/6 (* re re)) -1)) re) (* im (+ (* 1/6 (* re re)) -1)) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re)) (+ (* re -1) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* 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/6) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (* im im) -1/6) -1) (+ (* -1/120 (* im im)) -1/6) (+ (* 1/6 (* re re)) -1) (neg (sin re)) (* (+ (* (* re re) -1/120) 1/6) re) (- (exp (neg im)) (exp im)) (* (* -1/60 im) im))
4.0ms
im
@-inf
((* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* im (+ (* 1/6 (* re re)) -1)) re) (* im (+ (* 1/6 (* re re)) -1)) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re)) (+ (* re -1) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* 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/6) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (* im im) -1/6) -1) (+ (* -1/120 (* im im)) -1/6) (+ (* 1/6 (* re re)) -1) (neg (sin re)) (* (+ (* (* re re) -1/120) 1/6) re) (- (exp (neg im)) (exp im)) (* (* -1/60 im) im))
4.0ms
im
@0
((* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* im (+ (* 1/6 (* re re)) -1)) re) (* im (+ (* 1/6 (* re re)) -1)) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re)) (+ (* re -1) (* re (* (* (+ (* (* re re) -1/120) 1/6) re) re))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (* (* 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/6) -1) im) (* (sinh (neg im)) (sin re)) (sinh (neg im)) (+ (* (* im im) -1/6) -1) (+ (* -1/120 (* im im)) -1/6) (+ (* 1/6 (* re re)) -1) (neg (sin re)) (* (+ (* (* re re) -1/120) 1/6) re) (- (exp (neg im)) (exp im)) (* (* -1/60 im) im))

simplify181.0ms (1.9%)

Memory
-23.4MiB live, 160.7MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03391623
111231508
244621493
086731376
Stop Event
iter limit
node limit
Counts
108 → 107
Calls
Call 1
Inputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (exp (neg im)) (exp im)))))
(* 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))))))))
(* 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)))))))))
(* im (* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))))
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* 1/120 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))))))
(* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* re (- (+ (* -1/6 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))) 1))
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* 1/120 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))) 1))
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))) 1))
re
(* re (+ 1 (* -1/6 (pow re 2))))
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(* -1 (* im re))
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(* -1 im)
(+ (* -1 im) (* 1/6 (* im (pow re 2))))
(* 1/6 (pow re 3))
(* (pow re 3) (+ 1/6 (* -1/120 (pow re 2))))
(* -1 re)
(* re (- (* 1/6 (pow re 2)) 1))
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(* 1/2 re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
1/2
(+ 1/2 (* -1/12 (pow re 2)))
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(* 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))))))))))
(* 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)))))))))))
-1
(- (* 1/6 (pow re 2)) 1)
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(* 1/6 re)
(* re (+ 1/6 (* -1/120 (pow re 2))))
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* im (* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(sin re)
(* -1 (* im (sin re)))
(* 1/6 (* im (pow re 3)))
(* (pow re 3) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(* 1/6 (* im (pow re 2)))
(* (pow re 2) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(* -1/120 (pow re 5))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(* 1/2 (sin re))
(* -1/12 (pow re 3))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* -1/12 (pow re 2))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* 1/6 (pow re 2))
(* (pow re 2) (- 1/6 (/ 1 (pow re 2))))
(* -1 (sin re))
(* -1/120 (pow re 3))
(* (pow re 3) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(* -1 (* (pow re 3) (+ (* -1/6 im) (/ im (pow re 2)))))
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(* -1 (* (pow re 3) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(* 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)))))))))
(+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re))))
(+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re))))))
(* im (* re (- (* 1/6 (pow re 2)) 1)))
(* im (- (* 1/6 (pow re 2)) 1))
(* im (- (* -1/6 (pow im 2)) 1))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(- (* -1/6 (pow im 2)) 1)
-1/6
(- (* -1/120 (pow im 2)) 1/6)
(* -2 im)
(* im (- (* -1/3 (pow im 2)) 2))
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(* -1/60 (pow im 2))
(* -1/120 (* (pow im 5) (sin re)))
(* (pow im 5) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(* (pow im 5) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(* -1/120 (* (pow im 4) (sin re)))
(* (pow im 4) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(* (pow im 4) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(* -1/6 (pow im 3))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/120 (pow im 2))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(- (exp (neg im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (* 1/6 (/ (sin re) (pow im 2))))))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (+ (* 1/6 (/ (sin re) (pow im 2))) (/ (sin re) (pow im 4))))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(- (exp (* -1 im)) (exp im))
Outputs
(* 1/2 (* re (- (exp (neg im)) (exp im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re #s(literal 1/2 binary64)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (exp im)))) (* 1/2 (- (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)
(* 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))))))))
(fma.f64 (*.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))) (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re #s(literal 1/2 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)))))))))
(*.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)
(* im (* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re) re) #s(literal -1/6 binary64)) im (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) re)
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re) re) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) #s(literal -1/6 binary64))) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))
(* re (+ (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))) (* 1/120 (* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re) re) im) (*.f64 #s(literal 1/120 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))) re) re (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) #s(literal -1/6 binary64))) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))
(* re (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)
(* re (- (+ (* -1/6 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6))) 1))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* 1/120 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))))) 1))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64))) (*.f64 re re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)
(* re (- (+ (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) (* (pow re 2) (+ (* -1/6 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)) (* (pow re 2) (+ (* -1/5040 (* (pow re 2) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))) (* 1/120 (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))))))) 1))
(*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))) (*.f64 re re) (*.f64 #s(literal -1/6 binary64) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))) (*.f64 re re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)
re
(* re (+ 1 (* -1/6 (pow re 2))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/6 binary64) re)
(* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal -1/6 binary64)) re)
(* -1 (* im re))
(*.f64 (neg.f64 re) im)
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)
(* re (+ (* -1 im) (* (pow re 2) (+ (* -1/120 (* im (pow re 2))) (* 1/6 im)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 im re) re) #s(literal -1/120 binary64) (*.f64 #s(literal 1/6 binary64) im)) (*.f64 (neg.f64 re) im))
(* re (+ (* -1 im) (* (pow re 2) (+ (* 1/6 im) (* (pow re 2) (+ (* -1/120 im) (* 1/5040 (* im (pow re 2)))))))))
(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))
(* -1 im)
(neg.f64 im)
(+ (* -1 im) (* 1/6 (* im (pow re 2))))
(fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im))
(* 1/6 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow re 3) (+ 1/6 (* -1/120 (pow re 2))))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)))
(* -1 re)
(neg.f64 re)
(* re (- (* 1/6 (pow re 2)) 1))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)
(* re (- (* (pow re 2) (+ 1/6 (* -1/120 (pow re 2)))) 1))
(*.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)
(* 1/2 re)
(*.f64 re #s(literal 1/2 binary64))
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* (pow re 2) (+ 1/240 (* -1/10080 (pow re 2)))) 1/12))))
(fma.f64 (-.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)) (pow.f64 re #s(literal 3 binary64)) (*.f64 re #s(literal 1/2 binary64)))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/12 (pow re 2)))
(fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))
(* 1/2 (* re (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re #s(literal 1/2 binary64)))
(* re (+ (* -1/12 (* (pow re 2) (- (exp (neg im)) (/ 1 (exp (neg im)))))) (* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re)
(* re (+ (* 1/2 (- (exp (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))))))))))
(fma.f64 (*.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))) (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re #s(literal 1/2 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)))))))))))
(*.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
-1
#s(literal -1 binary64)
(- (* 1/6 (pow re 2)) 1)
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(* re (- (* (pow re 2) (+ 1/6 (* (pow re 2) (- (* 1/5040 (pow re 2)) 1/120)))) 1))
(*.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)
(* 1/6 re)
(*.f64 #s(literal 1/6 binary64) re)
(* re (+ 1/6 (* -1/120 (pow re 2))))
(*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) re)
(* 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))
(* im (* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)))
(*.f64 (*.f64 im (sin.f64 re)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(* (sin re) (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (sin.f64 re))
(sin re)
(sin.f64 re)
(* -1 (* im (sin re)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(* 1/6 (* im (pow re 3)))
(*.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) im) #s(literal 1/6 binary64))
(* (pow re 3) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) im (/.f64 im (*.f64 re re)))) (pow.f64 re #s(literal 3 binary64)))
(* 1/6 (* im (pow re 2)))
(*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))
(* (pow re 2) (+ (* -1 (/ im (pow re 2))) (* 1/6 im)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) im (/.f64 (/.f64 (neg.f64 im) re) re)) (*.f64 re re))
(* -1/120 (pow re 5))
(*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal -1/120 binary64))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (pow.f64 re #s(literal 5 binary64)))
(* (pow re 5) (- (* 1/6 (/ 1 (pow re 2))) (+ 1/120 (/ 1 (pow re 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 re #s(literal 5 binary64)))
(* 1/2 (sin re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(* -1/12 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/12 binary64))
(* (pow re 3) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (pow.f64 re #s(literal 3 binary64)))
(* -1/12 (pow re 2))
(*.f64 (*.f64 re re) #s(literal -1/12 binary64))
(* (pow re 2) (- (* 1/2 (/ 1 (pow re 2))) 1/12))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) re) re)
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(* 1/6 (pow re 2))
(*.f64 #s(literal 1/6 binary64) (*.f64 re re))
(* (pow re 2) (- 1/6 (/ 1 (pow re 2))))
(*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) re) re)
(* -1 (sin re))
(neg.f64 (sin.f64 re))
(* -1/120 (pow re 3))
(*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1/120 binary64))
(* (pow re 3) (- (* 1/6 (/ 1 (pow re 2))) 1/120))
(*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (pow.f64 re #s(literal 3 binary64)))
(* -1 (* (pow re 3) (+ (* -1/6 im) (/ im (pow re 2)))))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) im (/.f64 im (*.f64 re re)))) (pow.f64 re #s(literal 3 binary64)))
(* -1 (* (pow re 5) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(*.f64 (neg.f64 (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 re re)))) (pow.f64 re #s(literal 5 binary64)))
(* -1 (* (pow re 5) (- (+ 1/120 (/ 1 (pow re 4))) (* 1/6 (/ 1 (pow re 2))))))
(*.f64 (neg.f64 (pow.f64 re #s(literal 5 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 4 binary64))) (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 re re)))))
(* -1 (* (pow re 3) (- 1/12 (* 1/2 (/ 1 (pow re 2))))))
(*.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))))
(* -1 (* (pow re 3) (- 1/120 (* 1/6 (/ 1 (pow re 2))))))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 re re))))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))) im)
(* im (+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re))) im)
(* 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)))))))))
(*.f64 (fma.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #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)
(+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re))))
(*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(+ (* -1 (sin re)) (* (pow im 2) (+ (* -1/6 (sin re)) (* -1/120 (* (pow im 2) (sin re))))))
(fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re)))
(* im (* re (- (* 1/6 (pow re 2)) 1)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re) im)
(* im (- (* 1/6 (pow re 2)) 1))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) im)
(* im (- (* -1/6 (pow im 2)) 1))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(- (* -1/6 (pow im 2)) 1)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
-1/6
#s(literal -1/6 binary64)
(- (* -1/120 (pow im 2)) 1/6)
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* im (- (* -1/3 (pow im 2)) 2))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 im im) #s(literal -2 binary64)) im)
(* im (- (* (pow im 2) (- (* -1/60 (pow im 2)) 1/3)) 2))
(*.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)
(* im (- (* (pow im 2) (- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)) 2))
(*.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)
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* -1/120 (* (pow im 5) (sin re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal -1/120 binary64)) (sin.f64 re))
(* (pow im 5) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (sin.f64 re) im) (*.f64 #s(literal -1/120 binary64) (sin.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* (pow im 5) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 5 binary64))) (fma.f64 #s(literal 1/120 binary64) (sin.f64 re) (fma.f64 (/.f64 (sin.f64 re) im) (/.f64 #s(literal 1/6 binary64) im) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 4 binary64))))))
(* -1/120 (* (pow im 4) (sin re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/120 binary64)) (sin.f64 re))
(* (pow im 4) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re))))
(*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (sin.f64 re) im) (*.f64 #s(literal -1/120 binary64) (sin.f64 re))))
(* (pow im 4) (+ (* -1 (/ (sin re) (pow im 4))) (+ (* -1/6 (/ (sin re) (pow im 2))) (* -1/120 (sin re)))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (sin.f64 re) im) (fma.f64 #s(literal -1/120 binary64) (sin.f64 re) (/.f64 (neg.f64 (sin.f64 re)) (pow.f64 im #s(literal 4 binary64))))) (pow.f64 im #s(literal 4 binary64)))
(* -1/6 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(* -1/6 (pow im 2))
(*.f64 (*.f64 #s(literal -1/6 binary64) im) im)
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(* -1/120 (pow im 2))
(*.f64 #s(literal -1/120 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/120 (* 1/6 (/ 1 (pow im 2))))))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (* 1/6 (/ (sin re) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/6 binary64) im) (/.f64 (sin.f64 re) im) (*.f64 #s(literal -1/120 binary64) (sin.f64 re))) (pow.f64 im #s(literal 5 binary64)))
(* -1 (* (pow im 5) (+ (* 1/120 (sin re)) (+ (* 1/6 (/ (sin re) (pow im 2))) (/ (sin re) (pow im 4))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 5 binary64))) (fma.f64 #s(literal 1/120 binary64) (sin.f64 re) (fma.f64 (/.f64 (sin.f64 re) im) (/.f64 #s(literal 1/6 binary64) im) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 4 binary64))))))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im))))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(* 1/2 (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite111.0ms (1.2%)

Memory
-4.1MiB live, 143.2MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056371
092367
1328362
02413358
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
26 → 247
Calls
Call 1
Inputs
#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 (*.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 (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)))
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re))
(*.f64 (*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))) re)
(*.f64 im (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)))
(*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))
(fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) im))
(*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 (*.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)) (*.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 (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))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
#s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) 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))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
Outputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) (sin.f64 re)))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (sin.f64 re)) im)
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 im (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) im (*.f64 (neg.f64 (sin.f64 re)) im))
(fma.f64 im (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (neg.f64 (sin.f64 re)) im))
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) im) (*.f64 (neg.f64 (sin.f64 re)) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (sin.f64 re)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (sin.f64 re)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 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 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im))) (*.f64 (neg.f64 (sin.f64 re)) (neg.f64 (sin.f64 re)))) (-.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (neg.f64 (sin.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (-.f64 (*.f64 (neg.f64 (sin.f64 re)) (neg.f64 (sin.f64 re))) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (neg.f64 (sin.f64 re))))))
(fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (*.f64 im im) (neg.f64 (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (neg.f64 (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) (neg.f64 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (sin.f64 re) (neg.f64 (sin.f64 re)))
(fma.f64 #s(literal -1 binary64) (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)))
(fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 (*.f64 im im) (sin.f64 re)) (neg.f64 (sin.f64 re)))
(fma.f64 (*.f64 im im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (sin.f64 re)) (neg.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) im) (neg.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) #s(literal -1 binary64) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)))
(fma.f64 im (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im) (sin.f64 re)) (neg.f64 (sin.f64 re)))
(-.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 #s(literal 1 binary64) (sin.f64 re)))
(-.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (neg.f64 (sin.f64 re)) #s(literal -1 binary64)))
(+.f64 (neg.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (neg.f64 (sin.f64 re)))
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re)))
#s(approx (* (neg (sin re)) im) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re))
(*.f64 (*.f64 re im) (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re) im)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im re))
(*.f64 im (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) re))
(*.f64 re (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im))
(fma.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) re (*.f64 (neg.f64 im) re))
(fma.f64 re (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 re (neg.f64 im)))
(+.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) re) (*.f64 (neg.f64 im) re))
(+.f64 (*.f64 re (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 re (neg.f64 im)))
(*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) im)
(*.f64 im (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)) im) (-.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)) im) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (*.f64 im (-.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 im (fma.f64 (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (-.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im)))))
(fma.f64 (*.f64 im (*.f64 #s(literal 1/6 binary64) re)) re (neg.f64 im))
(fma.f64 (*.f64 im (*.f64 re re)) #s(literal 1/6 binary64) (neg.f64 im))
(fma.f64 (*.f64 im #s(literal 1/6 binary64)) (*.f64 re re) (neg.f64 im))
(fma.f64 (*.f64 #s(literal 1/6 binary64) re) (*.f64 re im) (neg.f64 im))
(fma.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im (neg.f64 im))
(fma.f64 (*.f64 re re) (*.f64 #s(literal 1/6 binary64) im) (neg.f64 im))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 re re) im) (neg.f64 im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im))
(fma.f64 im (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (neg.f64 im))
(fma.f64 im #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im))
(-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 #s(literal 1 binary64) im))
(-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (neg.f64 im) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im))
(*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) (*.f64 re re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 (*.f64 re re) re))
(*.f64 (*.f64 re re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re))
(*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re)
(*.f64 re (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re)))
(/.f64 (-.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (neg.f64 re) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)) #s(literal 3 binary64))) (fma.f64 re re (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64)) (*.f64 (neg.f64 re) (*.f64 (*.f64 (neg.f64 re) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re))))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64)))) (neg.f64 (*.f64 re (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re)) (*.f64 re re))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64))) (*.f64 re (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64)) (-.f64 (*.f64 re re) (*.f64 (*.f64 (neg.f64 re) re) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re)) (*.f64 re re)))
(fma.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re (neg.f64 re))
(fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) (*.f64 re re) (neg.f64 re))
(fma.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) (*.f64 (*.f64 re re) re) (neg.f64 re))
(fma.f64 (*.f64 re re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) (neg.f64 re))
(fma.f64 #s(literal -1 binary64) re (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
(fma.f64 #s(literal -1 binary64) re (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re))
(fma.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) (neg.f64 re))
(fma.f64 re #s(literal -1 binary64) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
(fma.f64 re #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re))
(-.f64 (/.f64 (*.f64 re re) (*.f64 re (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 2 binary64)) (*.f64 re (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))))
(-.f64 (neg.f64 re) (*.f64 (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)) re))
(-.f64 (neg.f64 re) (*.f64 (*.f64 (neg.f64 re) re) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)))
(-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (*.f64 (neg.f64 re) #s(literal -1 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (*.f64 #s(literal 1 binary64) re))
(+.f64 (/.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re)) (*.f64 re re))) (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re)) (*.f64 re re))))
(+.f64 (neg.f64 re) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))
(+.f64 (neg.f64 re) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re))
(+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re)) im)
(*.f64 im #s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re)))
(*.f64 #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)) (*.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)) #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)) (*.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 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))))
(fma.f64 #s(literal 1/2 binary64) re (*.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 re 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 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) im) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (*.f64 im (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) (neg.f64 im))
(fma.f64 im #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im) (neg.f64 im))
(+.f64 (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im))
(+.f64 (neg.f64 im) (*.f64 im (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 #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)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im)))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/6 binary64) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))) (/.f64 #s(literal -1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64)))
(/.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(/.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/216 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64))))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/120 binary64) #s(literal -1/6 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 im (*.f64 #s(literal -1/120 binary64) im) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/120 binary64) im)) im))
(-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/120 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))) (/.f64 #s(literal -1/216 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 im im) #s(literal 1/720 binary64)))))
(+.f64 (*.f64 #s(literal -1/120 binary64) (*.f64 im im)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 im im)))
(/.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 #s(literal 1/6 binary64) re) 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 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64))
(fma.f64 re (*.f64 #s(literal 1/6 binary64) 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 #s(literal 1/6 binary64) re)) re))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 re re)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 re re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))) (/.f64 #s(literal -1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal -1/6 binary64)))))
(+.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 re re) #s(literal 1/6 binary64)))
#s(approx (neg (sin re)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re #s(literal -1 binary64)) re))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re)
(*.f64 re (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) re) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64)) re) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64))))
(/.f64 (*.f64 re (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)))
(/.f64 (*.f64 re (fma.f64 #s(literal -1/1728000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/216 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 re re) #s(literal -1/720 binary64))))
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) re (*.f64 #s(literal 1/6 binary64) re))
(fma.f64 #s(literal 1/6 binary64) re (*.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) re))
(fma.f64 #s(literal 1/6 binary64) re (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/120 binary64))))
(fma.f64 re (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 #s(literal 1/6 binary64) re))
(fma.f64 re #s(literal 1/6 binary64) (*.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) re))
(fma.f64 re #s(literal 1/6 binary64) (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/120 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) re) (*.f64 #s(literal 1/6 binary64) re))
(+.f64 (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/120 binary64))) (*.f64 #s(literal 1/6 binary64) re))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) (*.f64 (*.f64 (*.f64 re re) #s(literal -1/120 binary64)) re))
(+.f64 (*.f64 #s(literal 1/6 binary64) re) (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/120 binary64))))
#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))
(*.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 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))

eval43.0ms (0.5%)

Memory
14.4MiB live, 106.6MiB allocated; 7ms collecting garbage
Compiler

Compiled 12 472 to 1 757 computations (85.9% saved)

prune37.0ms (0.4%)

Memory
19.5MiB live, 72.5MiB allocated; 5ms collecting garbage
Pruning

34 alts after pruning (29 fresh and 5 done)

PrunedKeptTotal
New33316349
Fresh31316
Picked415
Done145
Total34134375
Accuracy
99.9%
Counts
375 → 34
Alt Table
Click to see full alt table
StatusAccuracyProgram
19.5%
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
55.7%
(*.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))))))
45.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -2 im)) (*.f64 (+.f64 (/.f64 #s(literal -2 binary64) (*.f64 im im)) #s(literal -1/3 binary64)) (pow.f64 im #s(literal 3 binary64))))))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
65.7%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
58.1%
(*.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 (*.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)))
54.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)))
27.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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)))
60.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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)))
35.0%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
55.4%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)))
83.6%
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))) (sin.f64 re))
83.6%
(*.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))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (-.f64 (*.f64 (neg.f64 (sin.f64 re)) (neg.f64 (sin.f64 re))) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (neg.f64 (sin.f64 re)))))) im))
28.0%
#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))
56.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
59.2%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
56.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
44.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
40.6%
#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))
44.3%
#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))
44.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
39.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
60.3%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) (*.f64 #s(literal 1/6 binary64) im) (neg.f64 im)) re)))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im re))))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 im (*.f64 re re)) #s(literal 1/6 binary64) (neg.f64 im)) re)))
40.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 im (*.f64 #s(literal 1/6 binary64) re)) re (neg.f64 im)) re)))
37.8%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
35.1%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
25.8%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
25.8%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
Compiler

Compiled 2 883 to 1 121 computations (61.1% saved)

regimes142.0ms (1.5%)

Memory
-3.5MiB live, 135.4MiB allocated; 10ms collecting garbage
Counts
58 → 1
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 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 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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 (*.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 (*.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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.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)) #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)) #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))))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) #s(approx (+ (* (* -1/3 (* im im)) im) (* -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/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))
(*.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 (-.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 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.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 #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))))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (-.f64 (*.f64 (neg.f64 (sin.f64 re)) (neg.f64 (sin.f64 re))) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) im)) (neg.f64 (sin.f64 re)))))) im))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Calls

6 calls:

43.0ms
(sin.f64 re)
15.0ms
im
14.0ms
re
14.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
12.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.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)

regimes94.0ms (1%)

Memory
-4.9MiB live, 136.1MiB allocated; 29ms collecting garbage
Counts
45 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 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 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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 (*.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 (*.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 (*.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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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))
Calls

6 calls:

34.0ms
im
14.0ms
(sin.f64 re)
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.1%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
96.2%3(sin.f64 re)
96.2%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
92.1%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
96.2%2re
96.0%3im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes15.0ms (0.2%)

Memory
-16.3MiB live, 29.8MiB allocated; 2ms collecting garbage
Counts
43 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 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 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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 (*.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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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)))
Calls

1 calls:

13.0ms
re
Results
AccuracySegmentsBranch
95.1%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes25.0ms (0.3%)

Memory
-10.0MiB live, 42.6MiB allocated; 8ms collecting garbage
Counts
42 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 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 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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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:

23.0ms
re
Results
AccuracySegmentsBranch
95.1%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes62.0ms (0.7%)

Memory
28.4MiB live, 122.0MiB allocated; 4ms collecting garbage
Counts
41 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 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 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)) (fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 im im)) im (*.f64 #s(literal -2 binary64) im))))
Outputs
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))) (sin.f64 re))
Calls

6 calls:

12.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
11.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
89.4%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
89.1%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
96.4%5im
91.7%3(sin.f64 re)
91.7%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
91.7%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes26.0ms (0.3%)

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

1 calls:

24.0ms
re
Results
AccuracySegmentsBranch
91.7%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes21.0ms (0.2%)

Memory
35.6MiB live, 35.6MiB allocated; 0ms collecting garbage
Counts
37 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (* (* (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 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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:

10.0ms
re
10.0ms
im
Results
AccuracySegmentsBranch
95.7%5im
91.5%2re
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes91.0ms (1%)

Memory
-5.7MiB live, 118.3MiB allocated; 33ms collecting garbage
Counts
35 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
Outputs
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
Calls

5 calls:

46.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
12.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
12.0ms
re
9.0ms
im
9.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
89.2%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
81.2%3(sin.f64 re)
81.2%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
89.2%3im
77.1%2re
Compiler

Compiled 14 to 18 computations (-28.6% saved)

regimes785.0ms (8.3%)

Memory
-81.2MiB live, 243.6MiB allocated; 1.2s collecting garbage
Counts
34 → 3
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
#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 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 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 #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)) 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)))
Calls

3 calls:

766.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
9.0ms
im
7.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
84.6%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.1%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
86.1%3im
Compiler

Compiled 18 to 18 computations (0% saved)

regimes19.0ms (0.2%)

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

2 calls:

9.0ms
im
7.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
AccuracySegmentsBranch
85.3%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
85.3%3im
Compiler

Compiled 7 to 8 computations (-14.3% saved)

regimes118.0ms (1.3%)

Memory
-34.0MiB live, 67.2MiB allocated; 50ms collecting garbage
Counts
32 → 2
Calls
Call 1
Inputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #s(approx (+ (* 1/6 (* re re)) -1) (*.f64 #s(literal 1/6 binary64) (*.f64 re re)))) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im (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))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 im 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)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) #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 im (*.f64 #s(literal 1/6 binary64) re)) re (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 im (*.f64 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 re re) (*.f64 #s(literal 1/6 binary64) im) (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 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 #s(approx (* (+ (* (* re re) -1/120) 1/6) re) (*.f64 #s(literal 1/6 binary64) re)) re)))) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(approx (+ (* -1/120 (* re re)) 1/6) (*.f64 #s(literal -1/120 binary64) (*.f64 re re))) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (+.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re) re) (neg.f64 re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (fma.f64 re #s(literal -1 binary64) (*.f64 re (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/120 binary64) #s(literal 1/6 binary64)) re) re)))) 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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (*.f64 im #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)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 #s(approx (+ (* (* re re) -1/12) 1/2) #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 #s(approx (+ (* (* re re) -1/12) 1/2) #s(literal 1/2 binary64)) 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 (-.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))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(approx (+ (* (* re re) -1/12) 1/2) (*.f64 (*.f64 re re) #s(literal -1/12 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 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 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 (*.f64 #s(literal -1/60 binary64) 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 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 (*.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 #s(approx (* 1/2 (sin re)) (*.f64 #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)) 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 (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im)) (*.f64 im im)) (-.f64 (*.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) im) (neg.f64 im))) re)))
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 (*.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(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re)))
Calls

6 calls:

56.0ms
im
28.0ms
re
9.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
9.0ms
(sin.f64 re)
7.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
62.5%2re
71.0%2(sin.f64 re)
71.0%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
60.3%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.3%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
61.9%2im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes18.0ms (0.2%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes40.0ms (0.4%)

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

2 calls:

31.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
7.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
70.5%2(sin.f64 re)
70.5%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 6 to 8 computations (-33.3% saved)

regimes18.0ms (0.2%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes10.0ms (0.1%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes28.0ms (0.3%)

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

6 calls:

7.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
6.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
4.0ms
im
4.0ms
(sin.f64 re)
4.0ms
re
Results
AccuracySegmentsBranch
40.0%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
40.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
40.0%1im
40.0%1re
47.3%2(sin.f64 re)
47.3%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes7.0ms (0.1%)

Memory
20.2MiB live, 20.2MiB allocated; 0ms 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 #s(approx (neg (sin re)) (neg.f64 re)) im))
Outputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
Calls

6 calls:

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

Compiled 25 to 28 computations (-12% saved)

bsearch77.0ms (0.8%)

Memory
14.0MiB live, 60.4MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
74.0ms
1.4538615673247243e-5
0.00128475057845569
Samples
59.0ms32×2valid
6.0ms28×1valid
4.0ms52×0valid
Compiler

Compiled 322 to 267 computations (17.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
ival-exp: 58.0ms (89.5% of total)
adjust: 2.0ms (3.1% of total)
ival-mult: 2.0ms (3.1% of total)
ival-sin: 1.0ms (1.5% of total)
ival-sub: 1.0ms (1.5% of total)
ival-assert: 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)

bsearch2.0ms (0%)

Memory
4.2MiB live, 4.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.4538615673247243e-5
0.00128475057845569
Compiler

Compiled 294 to 253 computations (13.9% saved)

bsearch3.0ms (0%)

Memory
-42.4MiB live, 4.0MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
2.0ms
1.4538615673247243e-5
0.00128475057845569
Compiler

Compiled 308 to 260 computations (15.6% saved)

bsearch25.0ms (0.3%)

Memory
44.9MiB live, 44.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
1.4538615673247243e-5
0.00128475057845569
Samples
9.0ms22×2valid
6.0ms29×1valid
3.0ms45×0valid
Compiler

Compiled 224 to 204 computations (8.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-exp: 9.0ms (59.5% of total)
adjust: 2.0ms (13.2% of total)
ival-mult: 2.0ms (13.2% of total)
ival-sin: 1.0ms (6.6% of total)
ival-sub: 1.0ms (6.6% of total)
ival-assert: 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)

bsearch24.0ms (0.3%)

Memory
-48.0MiB live, 2.4MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
1.4538615673247243e-5
0.00128475057845569
Compiler

Compiled 217 to 204 computations (6% saved)

bsearch2.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.4538615673247243e-5
0.00128475057845569
Compiler

Compiled 273 to 246 computations (9.9% saved)

bsearch56.0ms (0.6%)

Memory
10.7MiB live, 55.2MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
1.6675314844397637e-11
8.039244115078624
15.0ms
-0.0013476609775399321
-4.201770314900744e-5
Samples
41.0ms272×0valid
Compiler

Compiled 541 to 508 computations (6.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-sin: 23.0ms (66.7% of total)
ival-exp: 5.0ms (14.5% of total)
ival-mult: 4.0ms (11.6% of total)
ival-sub: 1.0ms (2.9% of total)
ival-neg: 1.0ms (2.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch49.0ms (0.5%)

Memory
25.8MiB live, 68.4MiB allocated; 13ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
1.6675314844397637e-11
8.039244115078624
31.0ms
-408837102260.7246
-0.21310509201109282
Samples
34.0ms256×0valid
Compiler

Compiled 1 004 to 815 computations (18.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-exp: 15.0ms (55.2% of total)
ival-sin: 6.0ms (22.1% of total)
ival-mult: 3.0ms (11% of total)
ival-sub: 1.0ms (3.7% of total)
ival-neg: 1.0ms (3.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)

bsearch3.0ms (0%)

Memory
4.8MiB live, 4.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
1.6675314844397637e-11
8.039244115078624
1.0ms
-0.0013476609775399321
-4.201770314900744e-5
Compiler

Compiled 1 105 to 827 computations (25.2% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.2693078363675344e-6
0.0006423751125121252
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
2.57478254757302e-99
1.4640677128163813e-98
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.02290217295722537
1.5899091178162364e-307
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.02290217295722537
1.5899091178162364e-307
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.02290217295722537
1.5899091178162364e-307
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.02290217295722537
1.5899091178162364e-307
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify74.0ms (0.8%)

Memory
-9.9MiB live, 90.8MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01731023
12821023
26121023
320071001
471401001
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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)))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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))))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 -3504881374004815/18446744073709551616 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (if (<=.f64 im #s(literal 5072854620270127/9223372036854775808 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))))
(if (<=.f64 im #s(literal -4278419646001971/1125899906842624 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64)))) (if (<=.f64 im #s(literal 4438747792736361/576460752303423488 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 #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)) 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)))))
(if (<=.f64 im #s(literal -3504881374004815/18446744073709551616 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))) (if (<=.f64 im #s(literal 4438747792736361/576460752303423488 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 #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)) 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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 5902958103587057/590295810358705651712 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 (*.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(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 6156563468186637/1231312693637327475383720003129487931408741852202045208373384168882678805359287831606695820465153613775207124697088 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 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))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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)))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (*.f64 (*.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(literal 1/2 binary64)))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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))))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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))))
(if (<=.f64 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 re #s(literal 3910709743626425/147573952589676412928 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (*.f64 #s(approx (sinh (neg im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 im im)) im (neg.f64 im))) (sin.f64 re)))
(if (<=.f64 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 5534023222112865/36893488147419103232 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 5534023222112865/36893488147419103232 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 re #s(literal 5534023222112865/36893488147419103232 binary64)) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 -3504881374004815/18446744073709551616 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (if (<=.f64 im #s(literal 5072854620270127/9223372036854775808 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))))
(if (or (<=.f64 im #s(literal -3504881374004815/18446744073709551616 binary64)) (not (<=.f64 im #s(literal 5072854620270127/9223372036854775808 binary64)))) (*.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (sinh.f64 im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)))
(if (<=.f64 im #s(literal -4278419646001971/1125899906842624 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64)))) (if (<=.f64 im #s(literal 4438747792736361/576460752303423488 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 #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)) 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)))))
(if (<=.f64 im #s(literal -3504881374004815/18446744073709551616 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))) (if (<=.f64 im #s(literal 4438747792736361/576460752303423488 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 #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)) 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)))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 5902958103587057/590295810358705651712 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 (*.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(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 6156563468186637/1231312693637327475383720003129487931408741852202045208373384168882678805359287831606695820465153613775207124697088 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 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))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) (+ (* (* im im) (+ (* -1/120 (* im im)) -1/6)) -1)) im) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -5764607523034235/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 #s(approx (* im (+ (* 1/6 (* re re)) -1)) (*.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64))) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))

derivations902.0ms (9.6%)

Memory
32.2MiB live, 733.1MiB allocated; 112ms collecting garbage
Stop Event
fuel
Compiler

Compiled 1 024 to 179 computations (82.5% saved)

preprocess106.0ms (1.1%)

Memory
0.4MiB live, 179.7MiB allocated; 36ms collecting garbage
Remove

(negabs re)

Compiler

Compiled 2 164 to 446 computations (79.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...