math.cos on complex, imaginary part

Time bar (total: 9.6s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
-46.1MiB live, 1.6MiB allocated; 1ms 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)

sample3.2s (33%)

Memory
26.4MiB live, 3 638.8MiB allocated; 1.8s collecting garbage
Samples
1.0s4 233×0valid
818.0ms2 863×1valid
809.0ms1 160×2valid
Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-exp: 1.4s (59.5% of total)
ival-sin: 431.0ms (18.6% of total)
ival-mult: 177.0ms (7.6% of total)
adjust: 146.0ms (6.3% of total)
ival-sub: 114.0ms (4.9% of total)
ival-neg: 55.0ms (2.4% of total)
ival-true: 9.0ms (0.4% of total)
exact: 6.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain239.0ms (2.5%)

Memory
-4.9MiB live, 282.8MiB allocated; 49ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1150-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))cancellation1150
Confusion
Predicted +Predicted -
+870
-28141
Precision
0.7565217391304347
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+8700
-281140
Precision?
0.75
Recall?
1.0
Freqs
test
numberfreq
0141
1115
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
68.0ms82×2valid
45.0ms144×1valid
28.0ms286×0valid
Compiler

Compiled 81 to 34 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 115.0ms
ival-exp: 64.0ms (55.5% of total)
adjust: 22.0ms (19.1% of total)
ival-sin: 12.0ms (10.4% of total)
ival-mult: 9.0ms (7.8% of total)
ival-sub: 4.0ms (3.5% of total)
ival-neg: 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)

preprocess158.0ms (1.7%)

Memory
13.9MiB live, 203.8MiB allocated; 30ms 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.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

simplify145.0ms (1.5%)

Memory
-1.8MiB live, 240.8MiB allocated; 34ms 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)

localize107.0ms (1.1%)

Memory
-34.3MiB live, 114.3MiB allocated; 23ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 (neg.f64 im))
accuracy0.0
(exp.f64 im)
accuracy0.05078125
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
accuracy26.25240007267256
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Samples
23.0ms143×0valid
19.0ms41×2valid
15.0ms72×1valid
Compiler

Compiled 35 to 12 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 46.0ms
ival-exp: 19.0ms (41.3% of total)
ival-sin: 15.0ms (32.6% of total)
adjust: 4.0ms (8.7% 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
14.7MiB live, 14.6MiB allocated; 0ms collecting garbage
Counts
6 → 36
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(sin.f64 re)
(exp.f64 im)
(exp.f64 (neg.f64 im))
Outputs
(* 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))))))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(- (exp (neg im)) (exp im))
(exp im)
(exp (neg im))
(- (exp (* -1 im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(exp (* -1 im))
Calls

6 calls:

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

simplify141.0ms (1.5%)

Memory
20.1MiB live, 205.1MiB allocated; 32ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0146434
1474401
21628388
35196378
08644348
Stop Event
iter limit
node limit
Counts
36 → 35
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))))))
(+ 1 (* -1 im))
(+ 1 (* im (- (* 1/2 im) 1)))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(- (exp (neg im)) (exp im))
(exp im)
(exp (neg im))
(- (exp (* -1 im)) (exp im))
(* 1/2 (* (sin re) (- (exp (* -1 im)) (exp im))))
(exp (* -1 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))
(+ 1 (* -1 im))
(-.f64 #s(literal 1 binary64) im)
(+ 1 (* im (- (* 1/2 im) 1)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) im #s(literal 1 binary64))
(+ 1 (* im (- (* im (+ 1/2 (* -1/6 im))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) im #s(literal 1/2 binary64)) im) #s(literal 1 binary64)) im #s(literal 1 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp im)
(exp.f64 im)
(exp (neg im))
(exp.f64 (neg.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)))
(exp (* -1 im))
(exp.f64 (neg.f64 im))

rewrite148.0ms (1.5%)

Memory
-20.8MiB live, 166.4MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

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

eval25.0ms (0.3%)

Memory
-1.8MiB live, 42.7MiB allocated; 7ms collecting garbage
Compiler

Compiled 5 466 to 889 computations (83.7% saved)

prune10.0ms (0.1%)

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

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New20411215
Fresh000
Picked101
Done000
Total20511216
Accuracy
99.9%
Counts
216 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(*.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))) #s(literal 1/2 binary64))
43.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))))
41.8%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)))
45.1%
(*.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.9%
(*.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)))
91.7%
(*.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.5%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
54.5%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
90.6%
#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))
81.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
47.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
Compiler

Compiled 466 to 352 computations (24.5% saved)

simplify252.0ms (2.6%)

Memory
-8.7MiB live, 272.4MiB allocated; 58ms 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)

localize159.0ms (1.7%)

Memory
-4.2MiB live, 189.8MiB allocated; 18ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 im)
accuracy0.05078125
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
accuracy26.25240007267256
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
accuracy31.190000402217734
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
accuracy0.05078125
(fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
accuracy0.05078125
(*.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.12890625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy5.207816543224253
#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.03125
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)
accuracy0.05078125
(*.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.09765625
(fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64))
accuracy10.410461271451322
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 (sin.f64 re))
accuracy0.1171875
(*.f64 (neg.f64 (sin.f64 re)) im)
accuracy33.85436975757594
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 im)
accuracy0.00390625
(sinh.f64 (neg.f64 im))
accuracy0.05078125
(*.f64 (sin.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))))
Samples
40.0ms72×1valid
39.0ms143×0valid
36.0ms41×2valid
Compiler

Compiled 212 to 33 computations (84.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 85.0ms
ival-mult: 22.0ms (26% of total)
ival-exp: 19.0ms (22.4% of total)
const: 11.0ms (13% of total)
adjust: 10.0ms (11.8% of total)
ival-add: 7.0ms (8.3% of total)
ival-sin: 7.0ms (8.3% of total)
ival-sub: 4.0ms (4.7% of total)
ival-neg: 2.0ms (2.4% of total)
ival-sinh: 2.0ms (2.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series23.0ms (0.2%)

Memory
29.5MiB live, 29.5MiB allocated; 0ms collecting garbage
Counts
23 → 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))
(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
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)) (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))
4.0ms
im
@-inf
((* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (sin re) (* 2 (sinh (neg im))) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (- (exp (neg im)) (exp im)) (- (exp (neg im)) (exp im)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (sinh (neg im)) (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)) (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)) (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)) (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))

simplify148.0ms (1.5%)

Memory
-8.4MiB live, 175.7MiB allocated; 40ms 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))

rewrite83.0ms (0.9%)

Memory
-2.0MiB live, 56.8MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042206
069205
1182191
01071191
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
23 → 214
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))
(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)))
(neg.f64 im)
(/.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))

eval35.0ms (0.4%)

Memory
4.6MiB live, 51.2MiB allocated; 3ms collecting garbage
Compiler

Compiled 6 660 to 1 074 computations (83.9% saved)

prune25.0ms (0.3%)

Memory
-35.0MiB live, 57.3MiB allocated; 5ms collecting garbage
Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New25222274
Fresh426
Picked415
Done000
Total26025285
Accuracy
100.0%
Counts
285 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.9%
(*.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))
91.7%
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
91.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #s(literal -2 binary64)) im)))
57.1%
(*.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))))))
56.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
99.9%
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
63.9%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
59.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
55.1%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
55.9%
(*.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.3%
(*.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))))
59.1%
(*.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)))
53.5%
(*.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)))
81.6%
#s(approx (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im))
26.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
26.2%
#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))
90.6%
#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))
81.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
47.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
37.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
37.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
36.7%
#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))
35.4%
#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))
32.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
35.4%
#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 319 to 982 computations (25.5% saved)

simplify270.0ms (2.8%)

Memory
-22.0MiB live, 253.9MiB allocated; 56ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
cost-diff0
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
cost-diff0
(sin.f64 re)
cost-diff0
(*.f64 (sin.f64 re) im)
cost-diff0
#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))))
cost-diff1
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
cost-diff0
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
cost-diff0
(*.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)) #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
(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: 3 (0.0ms)

IterNodesCost
052370
081370
1152370
2398370
31364356
44956356
08394356
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
(*.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)))
#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
#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)
#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))))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(*.f64 (sin.f64 re) im)
(sin.f64 re)
re
im
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(sin.f64 re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(sinh.f64 (neg.f64 im))
(neg.f64 im)
im
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #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
(*.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 (- (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 #s(literal 1/2 binary64) re)))
#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
#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)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (neg.f64 (sin.f64 re))))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) im)
(sin.f64 re)
re
im
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(literal -1 binary64)
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re))
(sin.f64 re)
re
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
#s(literal -1/2520 binary64)
(*.f64 im im)
im
#s(literal 1/60 binary64)
#s(literal -1/3 binary64)
#s(literal -2 binary64)
#s(literal 1/2 binary64)

localize276.0ms (2.9%)

Memory
1.5MiB live, 190.3MiB allocated; 20ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.05078125
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.05859375
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
accuracy0.11328125
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
accuracy4.458864475038534
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy0.1171875
(*.f64 (sin.f64 re) im)
accuracy0.36328125
(*.f64 #s(literal -1/6 binary64) im)
accuracy0.5356404149467223
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
accuracy12.172955837681352
#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))))
accuracy0.05078125
(*.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)))
accuracy0.12890625
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
accuracy5.207816543224253
#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))
accuracy31.190000402217734
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
accuracy0.0
(neg.f64 re)
accuracy0.1171875
(*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im)
accuracy31.19028586492103
#s(approx (neg (sin re)) (neg.f64 re))
accuracy33.85436975757594
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
accuracy0.0
(sin.f64 re)
accuracy0.0
(neg.f64 im)
accuracy0.00390625
(sinh.f64 (neg.f64 im))
accuracy0.05078125
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Samples
81.0ms143×0valid
79.0ms72×1valid
59.0ms40×2valid
2.0ms5exit
Compiler

Compiled 256 to 48 computations (81.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 191.0ms
ival-mult: 63.0ms (33% of total)
const: 52.0ms (27.3% of total)
ival-exp: 36.0ms (18.9% of total)
adjust: 16.0ms (8.4% of total)
ival-sub: 6.0ms (3.1% of total)
ival-add: 6.0ms (3.1% of total)
ival-sin: 6.0ms (3.1% of total)
ival-neg: 3.0ms (1.6% of total)
ival-sinh: 2.0ms (1% of total)
exact: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series19.0ms (0.2%)

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

6 calls:

TimeVariablePointExpression
4.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/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (- (exp (neg im)) (exp im)) (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (sin re) im) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/6 im) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
3.0ms
im
@-inf
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (neg re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (- (exp (neg im)) (exp im)) (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (sin re) im) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/6 im) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
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/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (- (exp (neg im)) (exp im)) (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (sin re) im) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/6 im) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
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/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (- (exp (neg im)) (exp im)) (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (sin re) im) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/6 im) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))
2.0ms
im
@0
((* (sinh (neg im)) (sin re)) (sinh (neg im)) (neg im) (sin re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (neg (sin re)) im) (neg (sin re)) (neg re) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* 1/2 (sin re)) (* 1/2 re) (- (exp (neg im)) (exp im)) (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (* (sin re) im) (* (* (sin re) (* 2 (sinh (neg im)))) 1/2) (* (sin re) (* 2 (sinh (neg im)))) (* 2 (sinh (neg im))) (* -1/60 (* im im)) (* -1/6 im) (* -1/2520 (* im im)) (+ (* (- (* -1/2520 (* im im)) 1/60) (* im im)) -1/3))

simplify234.0ms (2.4%)

Memory
-13.3MiB live, 170.4MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03131308
110831152
243561128
086191048
Stop Event
iter limit
node limit
Counts
81 → 80
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))))
(* im (* re (- (* -1/6 (pow im 2)) 1)))
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* im (- (* -1/6 (pow im 2)) 1))))
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* 1/120 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1))))))))
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* 1/120 (* im (- (* -1/6 (pow im 2)) 1)))))))))
(* im re)
(* re (+ im (* -1/6 (* im (pow re 2)))))
(* re (+ im (* (pow re 2) (+ (* -1/6 im) (* 1/120 (* im (pow re 2)))))))
(* re (+ im (* (pow re 2) (+ (* -1/6 im) (* (pow re 2) (+ (* -1/5040 (* im (pow re 2))) (* 1/120 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)))))
(* 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/2 (sin re))
(* im (* (sin re) (- (* -1/6 (pow im 2)) 1)))
(* im (sin re))
(* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* 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))
(* -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)))))))))
(* -1/60 (pow im 2))
(* -1/6 im)
(* -1/2520 (pow im 2))
-1/3
(- (* -1/60 (pow im 2)) 1/3)
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(- (exp (neg im)) (exp im))
(* -1/6 (* (pow im 3) (sin re)))
(* (pow im 3) (+ (* -1 (/ (sin re) (pow im 2))) (* -1/6 (sin re))))
(- (exp (neg im)) (/ 1 (exp (neg im))))
(* -1/2520 (pow im 4))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(* 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))
(* -1 (* (pow im 3) (+ (* 1/6 (sin re)) (/ (sin re) (pow im 2)))))
(* (sin re) (- (exp (* -1 im)) (/ 1 (exp (* -1 im)))))
(- (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
(* 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 re im) 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 re im) 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 re im) 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))
(* im (* re (- (* -1/6 (pow im 2)) 1)))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* im (- (* -1/6 (pow im 2)) 1))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) re) re) im) #s(literal -1/6 binary64) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) re)
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* 1/120 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) #s(literal -1/6 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) re) re) im) #s(literal 1/120 binary64))) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* 1/120 (* im (- (* -1/6 (pow im 2)) 1)))))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))) im (*.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) #s(literal 1/120 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) re) re) im) #s(literal -1/5040 binary64))) re) re)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
(* im re)
(*.f64 re im)
(* re (+ im (* -1/6 (* im (pow re 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/6 binary64) im) re)
(* re (+ im (* (pow re 2) (+ (* -1/6 im) (* 1/120 (* im (pow re 2)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) im)) (*.f64 re re) im) re)
(* re (+ im (* (pow re 2) (+ (* -1/6 im) (* (pow re 2) (+ (* -1/5040 (* im (pow re 2))) (* 1/120 im)))))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) im)) re) re (*.f64 #s(literal -1/6 binary64) im)) (*.f64 re im))
(* 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)
(* 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)
(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 (* (sin re) (- (* -1/6 (pow im 2)) 1)))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (sin.f64 re)) im)
(* im (sin re))
(*.f64 (sin.f64 re) im)
(* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (sin.f64 re)) 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 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (sin.f64 re) (*.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 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 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 (fma.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)
(* -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)
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* -1/6 im)
(*.f64 #s(literal -1/6 binary64) im)
(* -1/2520 (pow im 2))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
-1/3
#s(literal -1/3 binary64)
(- (* -1/60 (pow im 2)) 1/3)
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(- (* (pow im 2) (- (* -1/2520 (pow im 2)) 1/60)) 1/3)
(fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) #s(literal 1/2 binary64))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/6 (* (pow im 3) (sin re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)) (sin.f64 re))
(* (pow im 3) (+ (* -1 (/ (sin re) (pow im 2))) (* -1/6 (sin re))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (sin.f64 re) (/.f64 (/.f64 (sin.f64 re) im) im)))
(- (exp (neg im)) (/ 1 (exp (neg im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/2520 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/2520 binary64))
(* -1 (* (pow im 4) (+ 1/2520 (* 1/60 (/ 1 (pow im 2))))))
(*.f64 (+.f64 (/.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (* -1 (/ (+ 1/60 (* 1/3 (/ 1 (pow im 2)))) (pow im 2))) 1/2520))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 1/2520 binary64)) (pow.f64 im #s(literal 4 binary64)))
(* 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)))
(* 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 (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 (* (pow im 3) (+ (* 1/6 (sin re)) (/ (sin re) (pow im 2)))))
(*.f64 (pow.f64 (neg.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (sin.f64 re) (/.f64 (/.f64 (sin.f64 re) im) im)))
(* (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))

rewrite103.0ms (1.1%)

Memory
20.0MiB live, 66.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052257
081257
1244253
01650253
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 111
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 #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)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) 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 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(*.f64 (sin.f64 re) im)
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 #s(literal -1/6 binary64) im)
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
Outputs
(*.f64 (sin.f64 re) (sinh.f64 (neg.f64 im)))
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(/.f64 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (sin.f64 re)) #s(literal 2 binary64))
(neg.f64 (*.f64 (sin.f64 re) (sinh.f64 im)))
(neg.f64 (*.f64 (sinh.f64 im) (sin.f64 re)))
(*.f64 #s(literal 2 binary64) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(*.f64 (sinh.f64 (neg.f64 im)) #s(literal 1 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(literal 2 binary64))
(sinh.f64 (neg.f64 im))
(neg.f64 (sinh.f64 im))
(-.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 im)) #s(literal 2 binary64)))
(neg.f64 im)
(sin.f64 re)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (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 #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 #s(literal 1/2 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 (*.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 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
(*.f64 re #s(literal 1/2 binary64))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/60 binary64)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (sin.f64 re)) im)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) (sin.f64 re))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) (*.f64 (sin.f64 re) im))
(*.f64 (*.f64 (sin.f64 re) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)))
(*.f64 (sin.f64 re) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im))
(*.f64 im (*.f64 (sin.f64 re) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 re) im)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (sin.f64 re) im)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im))) (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im)))) (-.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (*.f64 (sin.f64 re) im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 (sin.f64 re) im)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (-.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im))) (*.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (*.f64 (sin.f64 re) im))))))
(fma.f64 (*.f64 #s(literal -1 binary64) (sin.f64 re)) im (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 (*.f64 (*.f64 (sin.f64 re) im) (*.f64 #s(literal -1/6 binary64) im)) im (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (*.f64 (sin.f64 re) im) im) (*.f64 #s(literal -1/6 binary64) im) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) (sin.f64 re)) im (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) im) (sin.f64 re) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 #s(literal -1 binary64) im) (sin.f64 re) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) (*.f64 (sin.f64 re) im) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 #s(literal -1 binary64) (*.f64 (sin.f64 re) im) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (sin.f64 re) im) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (*.f64 (sin.f64 re) im) #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 (sin.f64 re) (*.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 (sin.f64 re) (*.f64 im #s(literal -1 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 im (*.f64 (sin.f64 re) #s(literal -1 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(fma.f64 im (*.f64 (sin.f64 re) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)) (neg.f64 (*.f64 (sin.f64 re) im)))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im)))
(-.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) im)))
(-.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) #s(literal -1 binary64)))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) im) #s(literal -1/6 binary64)) (*.f64 im im)) (neg.f64 (*.f64 (sin.f64 re) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) (sin.f64 re)))
(*.f64 (sin.f64 re) im)
(*.f64 im (sin.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/60 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/60 binary64))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)))
(*.f64 im (*.f64 #s(literal -1/60 binary64) im))
(*.f64 #s(literal -1/6 binary64) im)
(*.f64 im #s(literal -1/6 binary64))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/2520 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/2520 binary64)))
(*.f64 #s(literal -1/2520 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/2520 binary64))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/2520 binary64)))
(*.f64 im (*.f64 #s(literal -1/2520 binary64) im))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64)))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) (*.f64 im #s(literal -1/3 binary64))))))
(/.f64 (+.f64 #s(literal -1/27 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64))) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1/27 binary64) (fma.f64 #s(literal -1/3 binary64) (-.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) im) im))

eval55.0ms (0.6%)

Memory
-21.2MiB live, 25.0MiB allocated; 4ms collecting garbage
Compiler

Compiled 5 760 to 875 computations (84.8% saved)

prune21.0ms (0.2%)

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

26 alts after pruning (22 fresh and 4 done)

PrunedKeptTotal
New1839192
Fresh61319
Picked235
Done011
Total19126217
Accuracy
100.0%
Counts
217 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #s(literal -2 binary64)) im)))
57.1%
(*.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))
63.9%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
59.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
55.9%
(*.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.3%
(*.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))))
59.8%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
59.1%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
59.1%
(*.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)))
92.9%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
91.7%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
83.5%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
26.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
26.2%
#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))
90.6%
#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))
54.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
47.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
37.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
51.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) im) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
37.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
36.7%
#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))
35.4%
#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))
32.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
53.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
35.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
Compiler

Compiled 1 329 to 971 computations (26.9% saved)

simplify240.0ms (2.5%)

Memory
-1.1MiB live, 137.8MiB allocated; 41ms collecting garbage
Localize:

Found 20 expressions of interest:

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

Useful iterations: 4 (0.0ms)

IterNodesCost
065546
0103544
1189544
2492544
31782535
45488525
09276525
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 im im)
im
#s(literal -1/5040 binary64)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)
(*.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)
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 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.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)) (*.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)) #s(approx (exp im) #s(literal 1 binary64)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
#s(approx (exp im) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
(*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im)
(neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
(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)
(pow.f64 re #s(literal 3 binary64))
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))
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re)
(*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 re re)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
im
Outputs
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(approx (sinh (neg im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im))))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
#s(approx (sinh (neg im)) (fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im)))
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im)
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(*.f64 im im)
im
#s(literal -1/5040 binary64)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(sin.f64 re)
re
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)) re))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64) (neg.f64 im)) re)
(*.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 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(*.f64 im im)
im
#s(literal -1/6 binary64)
#s(literal -1 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 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
#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
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)
(fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(literal -1/60 binary64)
(*.f64 im im)
im
#s(literal -1/3 binary64)
#s(literal -2 binary64)
(*.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 (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
#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)) #s(approx (exp im) #s(literal 1 binary64)))
(exp.f64 (neg.f64 im))
(neg.f64 im)
im
#s(approx (exp im) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)) (neg.f64 im)))
(*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im)
(*.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)) (neg.f64 im))
(neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)))
(neg.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
#s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)
(pow.f64 re #s(literal 3 binary64))
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))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re)
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re)
(*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re)
(fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64))
(fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 re re)
#s(literal 1/120 binary64)
#s(literal 1/6 binary64)
im

localize336.0ms (3.5%)

Memory
-20.4MiB live, 257.7MiB allocated; 38ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.10546875
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re)
accuracy0.1171875
(*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im)
accuracy31.341436750254314
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
accuracy33.85436975757594
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
accuracy0.05078125
(*.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))))
accuracy26.25240007267256
(-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64)))
accuracy31.190000402217734
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
accuracy34.710730216976216
#s(approx (exp im) #s(literal 1 binary64))
accuracy0.05078125
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
accuracy0.06640625
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
accuracy5.207816543224253
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
accuracy31.190000402217734
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
accuracy0.09765625
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
accuracy1.682146530078282
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)
accuracy12.172955837681352
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
accuracy25.930709689857608
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
accuracy0.0859375
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
accuracy0.09375
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
accuracy0.11328125
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
accuracy4.459422186322261
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
Samples
103.0ms143×0valid
64.0ms72×1valid
59.0ms41×2valid
Compiler

Compiled 359 to 59 computations (83.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 185.0ms
const: 57.0ms (30.8% of total)
ival-mult: 51.0ms (27.6% of total)
adjust: 24.0ms (13% of total)
ival-exp: 19.0ms (10.3% of total)
ival-add: 11.0ms (5.9% of total)
ival-sub: 7.0ms (3.8% of total)
ival-sin: 6.0ms (3.2% of total)
ival-pow: 4.0ms (2.2% of total)
ival-neg: 3.0ms (1.6% of total)
ival-sinh: 2.0ms (1.1% of total)
exact: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series32.0ms (0.3%)

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

6 calls:

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

simplify167.0ms (1.7%)

Memory
7.9MiB live, 196.3MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03281352
111111240
244571191
082861112
Stop Event
iter limit
node limit
Counts
99 → 98
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)))))))))))
(* 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 (- (* -1/6 (pow im 2)) 1)))
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* im (- (* -1/6 (pow im 2)) 1))))
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* 1/120 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1))))))))
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* 1/120 (* im (- (* -1/6 (pow im 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 (* 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))
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/120 (pow re 2))
(* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2))))
(* 1/2 (* (sin re) (- (exp (neg im)) (/ 1 (exp (neg im))))))
(* 1/2 (* (sin re) (- (exp (neg im)) (exp im))))
(* im (* (sin re) (- (* -1/6 (pow im 2)) 1)))
(* 1/2 (sin re))
(* -1 (* im (sin re)))
(* -1 (sin re))
(sin re)
(* -1/5040 (pow re 4))
(* (pow re 4) (- (* 1/120 (/ 1 (pow re 2))) 1/5040))
(* -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))
(* 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/6 (pow im 2)) 1)
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(* im (+ (* -1 re) (* -1/6 (* (pow im 2) 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/5040 (pow im 2))
(* -1/120 im)
(* im (- (* -1/5040 (pow im 2)) 1/120))
(* -1/120 (pow im 2))
(* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120))
-1/3
(- (* -1/60 (pow im 2)) 1/3)
1
(+ 1 im)
(+ 1 (* im (+ 1 (* 1/2 im))))
(+ 1 (* im (+ 1 (* im (+ 1/2 (* 1/6 im))))))
(* -1/5040 (pow im 7))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* 1/2 (- (exp (neg im)) (/ 1 (exp (neg im)))))
(* -1/5040 (pow im 6))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/6 (pow im 3))
(* -1 (* (pow im 3) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/6 (* (pow im 3) (sin re)))
(* (pow im 3) (+ (* -1 (/ (sin re) (pow im 2))) (* -1/6 (sin re))))
(* -1/6 (* (pow im 3) re))
(* (pow im 3) (+ (* -1 (/ re (pow im 2))) (* -1/6 re)))
(- (exp (neg im)) (exp im))
(* -1/5040 (pow im 3))
(* -1 (* (pow im 3) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/5040 (pow im 4))
(* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(* -1/6 (pow im 2))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(* -1/60 (pow im 2))
(* -1 (* (pow im 2) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(exp im)
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(* 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))))
(* -1 (* (pow im 3) (+ (* 1/6 (sin re)) (/ (sin re) (pow im 2)))))
(* -1 (* (pow im 3) (+ (* 1/6 re) (/ re (pow im 2)))))
(- (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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))))) re)
(* 1/2 (* re (- (exp (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)
(* im (* re (- (* -1/6 (pow im 2)) 1)))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) re)
(* re (+ (* -1/6 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* im (- (* -1/6 (pow im 2)) 1))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (*.f64 re re)) #s(literal 1/6 binary64) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))) re)
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* 1/120 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) #s(literal -1/120 binary64)) re) re (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) #s(literal 1/6 binary64))) (*.f64 re re) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))) re)
(* re (+ (* im (- (* -1/6 (pow im 2)) 1)) (* (pow re 2) (+ (* -1/6 (* im (- (* -1/6 (pow im 2)) 1))) (* (pow re 2) (+ (* -1/5040 (* im (* (pow re 2) (- (* -1/6 (pow im 2)) 1)))) (* 1/120 (* im (- (* -1/6 (pow im 2)) 1)))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) #s(literal 1/6 binary64) (*.f64 (fma.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) (*.f64 re re)) #s(literal 1/5040 binary64) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im) #s(literal -1/120 binary64))) (*.f64 re re))) (*.f64 re re) (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* re (+ 1/2 (* -1/12 (pow re 2))))
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)
(* re (+ 1/2 (* (pow re 2) (- (* 1/240 (pow re 2)) 1/12))))
(*.f64 (fma.f64 (-.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 (* im re))
(*.f64 (neg.f64 re) im)
(* re (+ (* -1 im) (* 1/6 (* im (pow re 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 re im) 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 re im) 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 re im) 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 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)
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/120 (pow re 2))
(*.f64 #s(literal 1/120 binary64) (*.f64 re re))
(* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 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/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) (- (* -1/6 (pow im 2)) 1)))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (sin.f64 re))
(* 1/2 (sin re))
(*.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))
(sin re)
(sin.f64 re)
(* -1/5040 (pow re 4))
(*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/5040 binary64))
(* (pow re 4) (- (* 1/120 (/ 1 (pow re 2))) 1/5040))
(*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 re re)) #s(literal 1/5040 binary64)))
(* -1 im)
(neg.f64 im)
(* im (- (* -1/6 (pow im 2)) 1))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(* im (- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) 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 (fma.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)
(* im (+ (* -1 (sin re)) (* -1/6 (* (pow im 2) (sin re)))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) (sin.f64 re))
(* 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 #s(literal -1/120 binary64) 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 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sin.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64))))) im)
-1
#s(literal -1 binary64)
(- (* -1/6 (pow im 2)) 1)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(- (* (pow im 2) (- (* -1/120 (pow im 2)) 1/6)) 1)
(fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120)) 1/6)) 1)
(fma.f64 (fma.f64 (fma.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 re) (* -1/6 (* (pow im 2) re))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im)) re)
(* -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/5040 (pow im 2))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(* -1/120 im)
(*.f64 #s(literal -1/120 binary64) im)
(* im (- (* -1/5040 (pow im 2)) 1/120))
(*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im)
(* -1/120 (pow im 2))
(*.f64 (*.f64 #s(literal -1/120 binary64) im) im)
(* (pow im 2) (- (* -1/5040 (pow im 2)) 1/120))
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal -1/120 binary64)) im) im)
-1/3
#s(literal -1/3 binary64)
(- (* -1/60 (pow im 2)) 1/3)
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 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))
(* -1/5040 (pow im 7))
(*.f64 (pow.f64 im #s(literal 7 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 7) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)) (pow.f64 im #s(literal 7 binary64)))
(* (pow im 7) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (-.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 7 binary64)))
(* 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/5040 (pow im 6))
(*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 6) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 6 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/120 (* 1/6 (/ 1 (pow im 2)))) (pow im 2))) 1/5040))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/6 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/5040 binary64)))
(* (pow im 6) (- (* -1 (/ (+ 1/6 (/ 1 (pow im 2))) (pow im 4))) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1 binary64) #s(literal -1/6 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))))
(* -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)))))
(neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 1/6 binary64) im))
(* -1/6 (* (pow im 3) (sin re)))
(*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sin.f64 re)) #s(literal -1/6 binary64))
(* (pow im 3) (+ (* -1 (/ (sin re) (pow im 2))) (* -1/6 (sin re))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 re) (/.f64 (neg.f64 (sin.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))
(* -1/6 (* (pow im 3) re))
(*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) re) #s(literal -1/6 binary64))
(* (pow im 3) (+ (* -1 (/ re (pow im 2))) (* -1/6 re)))
(*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re (/.f64 re (*.f64 im im)))) (pow.f64 im #s(literal 3 binary64)))
(- (exp (neg im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(* -1/5040 (pow im 3))
(*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 3) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/5040 binary64) (*.f64 #s(literal -1/120 binary64) im))
(* -1/5040 (pow im 4))
(*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/5040 binary64))
(* -1 (* (pow im 4) (+ 1/5040 (* 1/120 (/ 1 (pow im 2))))))
(*.f64 (neg.f64 (+.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 im im)) #s(literal 1/5040 binary64))) (pow.f64 im #s(literal 4 binary64)))
(* -1/6 (pow im 2))
(*.f64 (*.f64 im im) #s(literal -1/6 binary64))
(* -1 (* (pow im 2) (+ 1/6 (/ 1 (pow im 2)))))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(* -1/60 (pow im 2))
(*.f64 #s(literal -1/60 binary64) (*.f64 im im))
(* -1 (* (pow im 2) (+ 1/60 (* 1/3 (/ 1 (pow im 2))))))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(exp im)
(exp.f64 im)
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (* 1/120 (/ 1 (pow im 2)))))))
(*.f64 (neg.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/5040 binary64)) (/.f64 #s(literal -1/120 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 7 binary64)))
(* -1 (* (pow im 7) (+ 1/5040 (+ (/ 1/6 (pow im 4)) (+ (* 1/120 (/ 1 (pow im 2))) (/ 1 (pow im 6)))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 7 binary64))) (+.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/5040 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/120 binary64) (*.f64 im im)))))
(* 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))
(* -1 (* (pow im 3) (+ (* 1/6 (sin re)) (/ (sin re) (pow im 2)))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 re) (/.f64 (neg.f64 (sin.f64 re)) (*.f64 im im))) (pow.f64 im #s(literal 3 binary64)))
(* -1 (* (pow im 3) (+ (* 1/6 re) (/ re (pow im 2)))))
(*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) re (/.f64 re (*.f64 im im)))) (pow.f64 im #s(literal 3 binary64)))
(- (exp (* -1 im)) (exp im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite106.0ms (1.1%)

Memory
-10.2MiB live, 83.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
065400
0103398
1343394
02228394
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
25 → 164
Calls
Call 1
Inputs
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re))
(*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) 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 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 #s(literal 1/2 binary64) re)
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.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 (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 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
(*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im)
(neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)))
#s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
#s(approx (exp im) #s(literal 1 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re)
Outputs
(*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)
(*.f64 im (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im))
(fma.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(*.f64 (sin.f64 re) #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
#s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) (*.f64 im #s(literal -1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (fabs.f64 im)) (fabs.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (neg.f64 im)) (neg.f64 im) #s(literal -1 binary64))
(fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im #s(literal -1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 im (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) #s(literal -1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im)) im))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))) (*.f64 im im)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im)) (pow.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) im) im))
(*.f64 (fma.f64 #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 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) im) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) im) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) 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 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 im (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) im (*.f64 #s(literal -1 binary64) im))
(fma.f64 #s(literal -1 binary64) im (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) im))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) (*.f64 im #s(literal -1 binary64)))
(fma.f64 im #s(literal -1 binary64) (*.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)))
(+.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) im) (*.f64 #s(literal -1 binary64) im))
(+.f64 (*.f64 #s(literal -1 binary64) im) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) im))
(+.f64 (*.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)) (*.f64 im #s(literal -1 binary64)))
(+.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im) re)))
#s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im) re))
(*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)
(*.f64 (*.f64 re im) (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im) re)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) (*.f64 re im))
(*.f64 re (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) im))
(*.f64 im (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64)) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 re im)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 re im)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64))))
(*.f64 #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 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 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
#s(approx (* 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))
#s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
(*.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 (*.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 2 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 3 binary64))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))) (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 2 binary64)))) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 3 binary64)))) (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 2 binary64)))) (neg.f64 (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 2 binary64))) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))) (/.f64 (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (exp im) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 #s(approx (exp im) #s(literal 1 binary64)) (+.f64 #s(approx (exp im) #s(literal 1 binary64)) (exp.f64 (neg.f64 im))) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))))
(-.f64 (cosh.f64 im) (+.f64 (sinh.f64 im) #s(approx (exp im) #s(literal 1 binary64))))
(-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64)))
(+.f64 (cosh.f64 im) (-.f64 (sinh.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)) (neg.f64 im)))
(*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re))) im)
(*.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)) (neg.f64 im))
(*.f64 im (neg.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re))))
(neg.f64 (*.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)) im))
(neg.f64 #s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)))
#s(approx (sin re) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re))
(*.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 #s(literal -1/5040 binary64) im) im)
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/5040 binary64)))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/5040 binary64)))
(*.f64 #s(literal -1/5040 binary64) (*.f64 im im))
(*.f64 (*.f64 im im) #s(literal -1/5040 binary64))
(*.f64 im (*.f64 #s(literal -1/5040 binary64) im))
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im)
(*.f64 im (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) im) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) im) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64))) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (neg.f64 im)) (neg.f64 im))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im) im)
(*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) (*.f64 im im))
(*.f64 (*.f64 im im) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)))
(*.f64 im (*.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 1/120 binary64)) im))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 im im)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) (*.f64 im im)) (+.f64 (fma.f64 (*.f64 im im) #s(literal -1/604800 binary64) #s(literal 1/14400 binary64)) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) 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 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 im 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 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) im)) im))
(-.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 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) 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 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) im) im) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 #s(literal -1/6 binary64) im) im))
(/.f64 (-.f64 #s(literal 1/9 binary64) (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64))) (-.f64 #s(literal -1/3 binary64) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64)))
(/.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64)) (+.f64 #s(literal 1/9 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(/.f64 (fma.f64 #s(literal -1/216000 binary64) (pow.f64 (*.f64 im im) #s(literal 3 binary64)) #s(literal -1/27 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64))))
(fma.f64 (*.f64 #s(literal -1/60 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal -1/60 binary64) (neg.f64 im)) (neg.f64 im) #s(literal -1/3 binary64))
(fma.f64 (*.f64 #s(literal -1/60 binary64) im) im #s(literal -1/3 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/60 binary64)) #s(literal -1/3 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/60 binary64) #s(literal -1/3 binary64))
(fma.f64 im (*.f64 #s(literal -1/60 binary64) im) #s(literal -1/3 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))) (/.f64 #s(literal 1/9 binary64) (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/60 binary64) im)) im))
(-.f64 #s(literal -1/3 binary64) (*.f64 #s(literal 1/60 binary64) (*.f64 im im)))
(-.f64 #s(literal -1/3 binary64) (*.f64 (neg.f64 (*.f64 im im)) #s(literal -1/60 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))) (/.f64 #s(literal -1/27 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 2 binary64)) #s(literal 1/9 binary64)) (*.f64 (*.f64 im im) #s(literal 1/180 binary64)))))
(+.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 #s(literal -1/60 binary64) (*.f64 im im)))
#s(approx (exp im) #s(literal 1 binary64))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re) re)
(*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 re re))
(*.f64 (*.f64 re re) (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))
(*.f64 re (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/5040 binary64)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 re re)) (-.f64 (*.f64 (*.f64 re re) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 re re) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) (*.f64 re re)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 re re) #s(literal -1/5040 binary64)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 re re) #s(literal -1/604800 binary64))))

eval52.0ms (0.5%)

Memory
2.0MiB live, 48.0MiB allocated; 4ms collecting garbage
Compiler

Compiled 9 315 to 1 375 computations (85.2% saved)

prune74.0ms (0.8%)

Memory
-17.6MiB live, 41.4MiB allocated; 10ms collecting garbage
Pruning

27 alts after pruning (21 fresh and 6 done)

PrunedKeptTotal
New2509259
Fresh51217
Picked325
Done044
Total25827285
Accuracy
100.0%
Counts
285 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.7%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #s(literal -2 binary64)) im)))
57.1%
(*.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))
63.9%
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im))) #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)))
59.2%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
39.3%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
55.9%
(*.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.3%
(*.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))))
59.8%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
59.1%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
59.1%
(*.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)))
59.1%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im)))
83.5%
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im)) (sin.f64 re))
92.9%
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re))
91.7%
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re))
26.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
26.2%
#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))
47.0%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im))
51.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (* (sin re) im) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
37.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
36.7%
#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))
35.4%
#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))
32.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (neg.f64 re)) im))
53.5%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
43.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
51.6%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
35.4%
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
Compiler

Compiled 2 200 to 873 computations (60.3% saved)

regimes185.0ms (1.9%)

Memory
47.1MiB live, 135.1MiB allocated; 10ms collecting garbage
Counts
52 → 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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #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) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 #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 (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 (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.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))) (*.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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #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)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 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 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 (sinh.f64 (neg.f64 im)) (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 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 #s(approx (exp (neg im)) (-.f64 #s(literal 1 binary64) im)) (exp.f64 im)))
(*.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)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (fma.f64 (sin.f64 re) (cos.f64 (PI.f64)) (*.f64 (cos.f64 re) (sin.f64 (PI.f64)))) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (-.f64 (*.f64 (cos.f64 re) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 re) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64))))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (exp.f64 im) (pow.f64 (exp.f64 im) #s(literal -2 binary64))))))
Outputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
Calls

6 calls:

99.0ms
re
37.0ms
(sin.f64 re)
13.0ms
im
13.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
10.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)

regimes104.0ms (1.1%)

Memory
-36.2MiB live, 111.6MiB allocated; 10ms 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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #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) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 #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 (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 (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.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))) (*.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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (fma.f64 #s(literal -1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))) im))
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/120 binary64)) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/60 binary64) (*.f64 im im)) #s(literal 1/3 binary64)) im) im #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)))
(*.f64 #s(approx (sinh (neg im)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re))
(*.f64 #s(approx (sinh (neg im)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)) im) im) #s(literal 1/6 binary64)) (*.f64 im im) #s(literal -1 binary64)) im)) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) #s(approx (* 2 (sinh (neg im))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/2520 binary64) (*.f64 im im)) #s(literal 1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (*.f64 #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re)) im) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 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 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) (fma.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) re) re) #s(literal 1/6 binary64)) re))) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #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)) (*.f64 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re))
Calls

6 calls:

27.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
11.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
11.0ms
im
11.0ms
(sin.f64 re)
11.0ms
re
Results
AccuracySegmentsBranch
92.9%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
96.3%3(sin.f64 re)
96.3%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
92.9%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
96.3%2re
96.2%3im
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes11.0ms (0.1%)

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

1 calls:

9.0ms
re
Results
AccuracySegmentsBranch
95.8%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes13.0ms (0.1%)

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

8.0ms
re
Results
AccuracySegmentsBranch
95.8%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes48.0ms (0.5%)

Memory
1.0MiB live, 99.6MiB allocated; 6ms 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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #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) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 #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 (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 (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.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))) (*.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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) (-.f64 (exp.f64 (neg.f64 im)) #s(approx (exp im) #s(literal 1 binary64))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
Outputs
(*.f64 (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

6 calls:

10.0ms
im
9.0ms
re
8.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
8.0ms
(sin.f64 re)
6.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
85.8%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
86.2%2(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
96.0%5im
92.0%3(sin.f64 re)
92.0%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
91.7%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes33.0ms (0.3%)

Memory
-30.3MiB live, 16.9MiB allocated; 3ms collecting garbage
Counts
26 → 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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #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 #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) (*.f64 re im)) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 re im) re) #s(literal 1/6 binary64) (neg.f64 im)) re)))
(*.f64 #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 (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 (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #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)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal -1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal -1 binary64)) re)) im))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/60 binary64) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (-.f64 (*.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))) (*.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

1 calls:

32.0ms
re
Results
AccuracySegmentsBranch
91.7%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes47.0ms (0.5%)

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

6 calls:

12.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
8.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
7.0ms
(sin.f64 re)
7.0ms
re
7.0ms
im
Results
AccuracySegmentsBranch
85.2%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
85.2%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
79.7%3(sin.f64 re)
79.7%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
89.9%5im
73.3%2re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes53.0ms (0.5%)

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

3 calls:

40.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
6.0ms
im
5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
83.3%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
83.3%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
88.0%5im
Compiler

Compiled 18 to 18 computations (0% saved)

regimes17.0ms (0.2%)

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

3 calls:

6.0ms
im
5.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
4.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
AccuracySegmentsBranch
81.1%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
81.1%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
85.8%5im
Compiler

Compiled 18 to 18 computations (0% saved)

regimes38.0ms (0.4%)

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

5 calls:

14.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
6.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
6.0ms
im
6.0ms
(sin.f64 re)
4.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
73.6%2(sin.f64 re)
73.6%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
59.8%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.8%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
64.5%3im
Compiler

Compiled 24 to 26 computations (-8.3% saved)

regimes19.0ms (0.2%)

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

3 calls:

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

Compiled 7 to 10 computations (-42.9% saved)

regimes12.0ms (0.1%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes8.0ms (0.1%)

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

2 calls:

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

Compiled 6 to 8 computations (-33.3% saved)

regimes6.0ms (0.1%)

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

2 calls:

3.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
3.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
64.8%2(sin.f64 re)
64.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
-27.0MiB live, 25.4MiB allocated; 23ms collecting garbage
Counts
5 → 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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal -1 binary64)) im) re)))
Outputs
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
Calls

6 calls:

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

Compiled 25 to 28 computations (-12% saved)

regimes10.0ms (0.1%)

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

6 calls:

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

Compiled 25 to 28 computations (-12% saved)

regimes10.0ms (0.1%)

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

6 calls:

3.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
im
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
53.5%3(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
43.6%1(sin.f64 re)
43.6%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
53.5%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
53.5%3im
43.6%1re
Compiler

Compiled 25 to 28 computations (-12% saved)

regimes6.0ms (0.1%)

Memory
19.6MiB live, 19.6MiB 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
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
re
1.0ms
(sin.f64 re)
1.0ms
im
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
32.5%1re
32.5%1(sin.f64 re)
32.5%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
32.5%1im
32.5%1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
32.5%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 25 to 28 computations (-12% saved)

bsearch27.0ms (0.3%)

Memory
4.0MiB live, 50.1MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
25.0ms
2.3314953180844375e-6
0.0001836239206288473
Samples
10.0ms15×2valid
6.0ms36×1valid
5.0ms61×0valid
Compiler

Compiled 427 to 323 computations (24.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-exp: 10.0ms (59.9% of total)
adjust: 2.0ms (12% of total)
ival-mult: 2.0ms (12% of total)
ival-sin: 1.0ms (6% of total)
ival-sub: 1.0ms (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)

bsearch2.0ms (0%)

Memory
5.5MiB live, 5.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
2.3314953180844375e-6
0.0001836239206288473
Compiler

Compiled 392 to 316 computations (19.4% saved)

bsearch2.0ms (0%)

Memory
4.7MiB live, 4.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
2.3314953180844375e-6
0.0001836239206288473
Compiler

Compiled 308 to 260 computations (15.6% saved)

bsearch22.0ms (0.2%)

Memory
-15.2MiB live, 31.9MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
2.3314953180844375e-6
0.0001836239206288473
Samples
7.0ms14×2valid
5.0ms27×1valid
4.0ms55×0valid
Compiler

Compiled 217 to 204 computations (6% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-exp: 7.0ms (53.6% of total)
adjust: 2.0ms (15.3% of total)
ival-mult: 2.0ms (15.3% of total)
ival-sin: 1.0ms (7.7% of total)
ival-sub: 1.0ms (7.7% 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)

bsearch1.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
2.3314953180844375e-6
0.0001836239206288473
Compiler

Compiled 273 to 246 computations (9.9% saved)

bsearch75.0ms (0.8%)

Memory
5.7MiB live, 101.9MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
7.223232239937144e+226
3.339584514262826e+229
21.0ms
40.13990398181127
339869166.9459798
19.0ms
-26611.91940454512
-0.0016442340354233757
15.0ms
-5.70104273971822e+149
-1.0428181744342356e+149
Samples
46.0ms496×0valid
Compiler

Compiled 1 176 to 1 048 computations (10.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-sin: 13.0ms (38.8% of total)
ival-exp: 8.0ms (23.9% of total)
ival-mult: 7.0ms (20.9% of total)
ival-sub: 2.0ms (6% of total)
ival-neg: 2.0ms (6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch17.0ms (0.2%)

Memory
-15.4MiB live, 30.4MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
7.223232239937144e+226
3.339584514262826e+229
12.0ms
6.386554358155988e+32
2.2325603687640747e+33
1.0ms
-26611.91940454512
-0.0016442340354233757
1.0ms
-5.70104273971822e+149
-1.0428181744342356e+149
Samples
8.0ms80×0valid
Compiler

Compiled 1 364 to 1 100 computations (19.4% saved)

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

bsearch23.0ms (0.2%)

Memory
29.7MiB live, 29.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
7.223232239937144e+226
3.339584514262826e+229
1.0ms
6.386554358155988e+32
2.2325603687640747e+33
17.0ms
-82082410780.55605
-131332538.72027133
1.0ms
-5.70104273971822e+149
-1.0428181744342356e+149
Samples
11.0ms128×0valid
Compiler

Compiled 1 568 to 1 181 computations (24.7% saved)

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

bsearch8.0ms (0.1%)

Memory
-46.0MiB live, 0.7MiB allocated; 3ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.004693954875031398
2.6866513578930846e-305
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.004693954875031398
2.6866513578930846e-305
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.004693954875031398
2.6866513578930846e-305
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.004693954875031398
2.6866513578930846e-305
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.004693954875031398
2.6866513578930846e-305
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.066736079032336e-66
4.7529370589668494e-15
0.0ms
-1.1984128961149425e-14
-0.0
Compiler

Compiled 14 to 15 computations (-7.1% saved)

simplify61.0ms (0.6%)

Memory
26.3MiB live, 76.4MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01991216
12911216
25081216
312381206
440031206
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (sinh.f64 (neg.f64 im)) (sin.f64 re))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 1770887431076117/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 1770887431076117/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 -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -4 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 41 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))))))
(if (<=.f64 im #s(literal -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -4 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 649999999999999935800862526406656 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))))))
(if (<=.f64 im #s(literal -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -150000000 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal 649999999999999935800862526406656 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #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 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 -1152921504606847/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))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/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))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -6338253001141147/633825300114114700748351602688 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4742843975160471/474284397516047136454946754595585670566993857190463750305618264096412179005177856 binary64)) #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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))))
#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 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (fma.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)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 #s(approx (+ (* (- (* (* (- (* (* im im) -1/5040) 1/120) im) im) 1/6) (* im im)) -1) (fma.f64 (fma.f64 (*.f64 #s(literal -1/120 binary64) im) im #s(literal -1/6 binary64)) (*.f64 im im) #s(literal -1 binary64))) im)) (sin.f64 re)))
(if (<=.f64 re #s(literal 4958484807013127/1180591620717411303424 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 4958484807013127/1180591620717411303424 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 1770887431076117/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 1770887431076117/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 1770887431076117/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 1770887431076117/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 -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -4 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 41 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))))))
(if (<=.f64 im #s(literal -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -4 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 41 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 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 (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))))))
(if (<=.f64 im #s(literal -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -4 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 649999999999999935800862526406656 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #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 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im)))))))
(if (<=.f64 im #s(literal -139999999999999995499886653402215216306927282244233295148659671703278865004789503665083537322776152959300661652855726859773080510703731718916168220672 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/3 binary64) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal -150000000 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))) (if (<=.f64 im #s(literal 649999999999999935800862526406656 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 (neg.f64 (sin.f64 re)) im)) (if (<=.f64 im #s(literal 149999999999999992884476949609985835569592736347061494446317870897689704129830757605115844625309105359748545104380355638688963782063743854376592378095844359692626862649956013385465853424581658176401890882970187172564113760976896 binary64)) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 re re)) #s(literal 1/12 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 #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 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 -1152921504606847/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))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/2520 binary64) (*.f64 im im) #s(literal -1/60 binary64)) (*.f64 im im) #s(literal -1/3 binary64)) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/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))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) (*.f64 #s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re)) #s(approx (- (exp (neg im)) (exp im)) (*.f64 (fma.f64 #s(approx (+ (* -1/60 (* im im)) -1/3) (*.f64 #s(literal -1/60 binary64) (*.f64 im im))) (*.f64 im im) #s(literal -2 binary64)) im))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (neg (sin re)) im) (*.f64 (fma.f64 (*.f64 (*.f64 im re) re) #s(literal 1/6 binary64) (neg.f64 im)) re))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re))))
(if (<=.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal -1152921504606847/288230376151711744 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) (*.f64 #s(approx (neg (sin re)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 re re) #s(literal -1 binary64)) re)) im)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re))))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal -1 binary64)) im) re)))
#s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal -1 binary64))) im)))
(if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -6338253001141147/633825300114114700748351602688 binary64)) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re))) (if (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4742843975160471/474284397516047136454946754595585670566993857190463750305618264096412179005177856 binary64)) #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 (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) re)))))
(if (or (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal -6338253001141147/633825300114114700748351602688 binary64)) (not (<=.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) #s(literal 4742843975160471/474284397516047136454946754595585670566993857190463750305618264096412179005177856 binary64)))) #s(approx (* (* 1/2 (sin re)) (- (exp (neg im)) (exp im))) #s(approx (* (* (sin re) im) (+ (* (* -1/6 im) im) -1)) (*.f64 (*.f64 #s(approx (+ (* (* im im) -1/6) -1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im) 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))

derivations1.7s (17.6%)

Memory
13.5MiB live, 1 558.0MiB allocated; 378ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02771108
1947950
23749926
08137865
03131308
110831152
243561128
086191048
0146434
1474401
21628388
35196378
08644348
065400
0103398
1343394
02228394
042206
069205
1182191
01071191
03281352
111111240
244571191
082861112
01028
01728
14328
226826
0359626
Stop Event
fuel
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 1 216 to 207 computations (83% saved)

preprocess152.0ms (1.6%)

Memory
23.6MiB live, 163.5MiB allocated; 40ms collecting garbage
Remove

(negabs re)

Compiler

Compiled 2 548 to 502 computations (80.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...