math.sin on complex, real part

Time bar (total: 5.7s)

analyze0.0ms (0%)

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 15 to 12 computations (20% saved)

sample2.0s (35%)

Results
521.0ms1037×body1024valid
430.0ms2558×body256infinite
403.0ms2569×body256valid
375.0ms1096×body1024infinite
148.0ms525×body512valid
105.0ms465×body512infinite
5.0msbody2048valid
Bogosity

preprocess90.0ms (1.6%)

Algorithm
egg-herbie
Rules
1388×fma-def
1228×distribute-lft-neg-in
1086×fma-neg
802×times-frac
794×distribute-rgt-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
031144
194144
2254140
3526134
41151132
53093132
65261132
77961132
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (sin.f64 re))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs im)

Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify89.0ms (1.6%)

Algorithm
egg-herbie
Rules
1568×unswap-sqr
1404×fma-def
900×fabs-mul
862×associate-/r*
692×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 47 to 25 computations (46.8% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New224
Fresh101
Picked000
Done000
Total325
Accurracy
100.0%
Counts
5 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 52 to 38 computations (26.9% saved)

localize138.0ms (2.4%)

Local Accuracy

Found 5 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
100.0%
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
100.0%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 66 to 26 computations (60.6% saved)

series16.0ms (0.3%)

Counts
5 → 76
Calls

21 calls:

TimeVariablePointExpression
6.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@inf
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1.0ms
im
@0
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1.0ms
re
@0
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

rewrite47.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
370×add-sqr-sqrt
358×pow1
358×*-un-lft-identity
344×add-exp-log
342×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01799
135999
2558299
Stop Event
unsound
Counts
5 → 82
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))

simplify88.0ms (1.5%)

Algorithm
egg-herbie
Rules
1686×fma-def
1270×associate-*r*
1082×associate-*l*
778×times-frac
716×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01563486
14753130
215102928
365162928
Stop Event
node limit
Counts
158 → 122
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 im (*.f64 im 1/4)))
(fma.f64 -1/2 im (fma.f64 im (*.f64 im 1/4) 1/2))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 -1/12 (pow.f64 im 3) (*.f64 im (+.f64 -1/2 (*.f64 im 1/4)))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3)) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/5040 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 7)) (fma.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3)) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 5) 1/240)) (fma.f64 (pow.f64 re 7) -1/10080 (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (fma.f64 im (*.f64 1/2 im) 1) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (sin.f64 re)) (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3)) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/5040 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 7)) (fma.f64 -1/6 (*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 3)) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 5) 1/240)) (fma.f64 (pow.f64 re 7) -1/10080 (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (fma.f64 im (*.f64 1/2 im) 1) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (sin.f64 re)) (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(*.f64 (sin.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))))
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(*.f64 2 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
1
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 1 (*.f64 (sin.f64 re) -2))
(/.f64 -1/2 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) -8)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(*.f64 (fabs.f64 (sin.f64 re)) 2)
(*.f64 2 (fabs.f64 (sin.f64 re)))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(*.f64 (sin.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(/.f64 1 (*.f64 (sin.f64 re) -2))
(/.f64 -1/2 (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(*.f64 (*.f64 (sin.f64 re) -2) (exp.f64 -2))
(*.f64 (sin.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
0
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
0
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(*.f64 (sin.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))))
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -1)
(*.f64 2 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
1
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -1)
(/.f64 1 (*.f64 (sin.f64 re) -2))
(/.f64 -1/2 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) -8)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(*.f64 (fabs.f64 (sin.f64 re)) 2)
(*.f64 2 (fabs.f64 (sin.f64 re)))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(*.f64 (sin.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -1))
(/.f64 1 (*.f64 (sin.f64 re) -2))
(/.f64 -1/2 (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(*.f64 (*.f64 (sin.f64 re) -2) (exp.f64 -2))
(*.f64 (sin.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) -2)
(fma.f64 (*.f64 (sin.f64 re) -2) -1 (*.f64 (sin.f64 re) -2))
0
(fma.f64 -1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
0

eval32.0ms (0.6%)

Compiler

Compiled 1735 to 999 computations (42.4% saved)

prune32.0ms (0.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1139122
Fresh000
Picked202
Done000
Total1159124
Accurracy
100.0%
Counts
124 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
83.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
94.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
98.7%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
61.0%
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
11.6%
(*.f64 2 (sin.f64 re))
56.1%
(sin.f64 re)
10.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
83.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
94.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
98.7%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
61.0%
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
11.6%
(*.f64 2 (sin.f64 re))
56.1%
(sin.f64 re)
Compiler

Compiled 392 to 296 computations (24.5% saved)

localize228.0ms (4%)

Local Accuracy

Found 7 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
100.0%
(/.f64 1 (exp.f64 im))
100.0%
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
100.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
96.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
Compiler

Compiled 132 to 59 computations (55.3% saved)

series51.0ms (0.9%)

Counts
7 → 92
Calls

33 calls:

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

rewrite47.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
536×add-sqr-sqrt
522×pow1
522×*-un-lft-identity
498×add-exp-log
498×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027125
1591125
Stop Event
node limit
Counts
7 → 147
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(/.f64 1 (exp.f64 im))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -3)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -3))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -3 re)
(fma.f64 -3 re re)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -3)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -3))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -3 re)
(fma.f64 -3 re re)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im

simplify87.0ms (1.5%)

Algorithm
egg-herbie
Rules
1474×fma-def
990×distribute-lft-out
730×associate-*r*
680×associate-*l*
584×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01943675
14553371
212373197
348433091
Stop Event
node limit
Counts
239 → 191
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -3)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -3))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -3 re)
(fma.f64 -3 re re)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -3)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -3))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -3 re)
(fma.f64 -3 re re)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
Outputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))
(fma.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))
(fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)))))
(fma.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re (fma.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)))))
(fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 5) 1/120))))
(fma.f64 (pow.f64 re 3) (+.f64 -1/12 (*.f64 (exp.f64 im) -1/12)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))))
(fma.f64 -1/5040 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 7)) (fma.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re (fma.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))))
(fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 7)) (fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 5) 1/120)))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re))
(*.f64 (+.f64 (*.f64 1/2 im) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (sin.f64 re)) (*.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im)))))
(+.f64 (fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (*.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(fma.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3)) (+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (sin.f64 re)) (*.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im))))))
(fma.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3)) (+.f64 (fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/4))))
(+.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (*.f64 1/12 (pow.f64 im 3)) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4))))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 im 1/12))))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im)))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 (fma.f64 im im 2) -1/12)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (*.f64 im im))))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 (fma.f64 im im 2) -1/12))))
(fma.f64 (pow.f64 re 3) (*.f64 (fma.f64 im im 2) -1/12) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 2 (*.f64 im im))) (fma.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (*.f64 im im)))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (fma.f64 im im 2)) (fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 (fma.f64 im im 2) -1/12)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240)) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re))
(+.f64 re (*.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re)))
(+.f64 (*.f64 1/2 (*.f64 re (fma.f64 im im 2))) (*.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 re (fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re))
(+.f64 re (*.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re)))
(+.f64 (*.f64 1/2 (*.f64 re (fma.f64 im im 2))) (*.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 re (fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
1
(+.f64 1 (*.f64 -1 im))
(+.f64 (neg.f64 im) 1)
(-.f64 1 im)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 im)))
(-.f64 (*.f64 1/2 (fma.f64 im im 2)) im)
(-.f64 (fma.f64 1/2 (*.f64 im im) 1) im)
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))))
(+.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 1/2 (*.f64 im im) (neg.f64 im))))
(+.f64 (-.f64 (*.f64 1/2 (fma.f64 im im 2)) im) (*.f64 -1/6 (pow.f64 im 3)))
(fma.f64 -1/6 (pow.f64 im 3) (-.f64 (*.f64 1/2 (fma.f64 im im 2)) im))
(fma.f64 (*.f64 im im) (+.f64 1/2 (*.f64 im -1/6)) (-.f64 1 im))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (fma.f64 im im 2)) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(+.f64 -3 (*.f64 3 (cos.f64 re)))
(fma.f64 3 (cos.f64 re) -3)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 3)
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
1
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 re)) -3)
(-.f64 -1/3 (/.f64 (cos.f64 re) -3))
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
1
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(cbrt.f64 (sin.f64 re))
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(pow.f64 (sin.f64 re) -3)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(*.f64 -2 (sin.f64 re))
(*.f64 (sin.f64 re) -2)
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(*.f64 -2 (sin.f64 re))
(*.f64 (sin.f64 re) -2)
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(-.f64 -3 (*.f64 -3 (cos.f64 re)))
(+.f64 -3 (*.f64 3 (cos.f64 re)))
(fma.f64 3 (cos.f64 re) -3)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -3)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 3)
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (sin.f64 re) -3)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
1
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -3)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 re)) -3)
(-.f64 -1/3 (/.f64 (cos.f64 re) -3))
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
1
(pow.f64 (sin.f64 re) -3)
(pow.f64 (sin.f64 re) 1/3)
(cbrt.f64 (sin.f64 re))
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -3))
(pow.f64 (sin.f64 re) -3)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(*.f64 -2 (sin.f64 re))
(*.f64 (sin.f64 re) -2)
(fma.f64 -3 (sin.f64 re) (sin.f64 re))
(fma.f64 (sin.f64 re) -3 (sin.f64 re))
(*.f64 -2 (sin.f64 re))
(*.f64 (sin.f64 re) -2)
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(+.f64 (exp.f64 (log1p.f64 re)) 3)
(+.f64 3 (exp.f64 (log1p.f64 re)))
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 (-.f64 re re) (-.f64 re re))
1
(pow.f64 re -3)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
re
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) -3))
(pow.f64 re -3)
(log1p.f64 (expm1.f64 re))
re
(fma.f64 re -3 re)
(*.f64 -2 re)
(*.f64 re -2)
(fma.f64 -3 re re)
(fma.f64 re -3 re)
(*.f64 -2 re)
(*.f64 re -2)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -3)
(+.f64 (exp.f64 (log1p.f64 re)) 3)
(+.f64 3 (exp.f64 (log1p.f64 re)))
(/.f64 re -3)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 (-.f64 re re) (-.f64 re re))
1
(pow.f64 re -3)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
re
(log.f64 (+.f64 -3 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) -3))
(pow.f64 re -3)
(log1p.f64 (expm1.f64 re))
re
(fma.f64 re -3 re)
(*.f64 -2 re)
(*.f64 re -2)
(fma.f64 -3 re re)
(fma.f64 re -3 re)
(*.f64 -2 re)
(*.f64 re -2)
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
-3
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512

eval54.0ms (0.9%)

Compiler

Compiled 2387 to 1535 computations (35.7% saved)

prune55.0ms (1%)

Pruning

20 alts after pruning (17 fresh and 3 done)

PrunedKeptTotal
New17417191
Fresh404
Picked235
Done000
Total18020200
Accurracy
100.0%
Counts
200 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
14.2%
(pow.f64 re -3)
4.7%
(/.f64 re (+.f64 re (-.f64 re re)))
3.0%
(/.f64 re -3)
49.2%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.3%
(+.f64 re re)
98.7%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
60.3%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
30.8%
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
49.1%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
49.4%
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
56.4%
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
6.3%
(*.f64 re (*.f64 1/2 512))
5.9%
(*.f64 re (*.f64 1/2 1/512))
3.0%
(*.f64 re (*.f64 1/2 -1/2))
3.0%
(*.f64 re -2)
56.1%
(sin.f64 re)
3.9%
(cbrt.f64 re)
29.7%
re
14.2%
(pow.f64 re -3)
4.7%
(/.f64 re (+.f64 re (-.f64 re re)))
3.0%
(/.f64 re -3)
49.2%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.3%
(+.f64 re re)
98.7%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
60.3%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
30.8%
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
49.1%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
49.4%
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
56.4%
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
6.3%
(*.f64 re (*.f64 1/2 512))
5.9%
(*.f64 re (*.f64 1/2 1/512))
3.0%
(*.f64 re (*.f64 1/2 -1/2))
3.0%
(*.f64 re -2)
56.1%
(sin.f64 re)
3.9%
(cbrt.f64 re)
29.7%
re
Compiler

Compiled 622 to 466 computations (25.1% saved)

localize143.0ms (2.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
92.3%
(*.f64 re (pow.f64 im 2))
99.0%
(cbrt.f64 re)
100.0%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
Compiler

Compiled 76 to 48 computations (36.8% saved)

series6.0ms (0.1%)

Counts
4 → 24
Calls

21 calls:

TimeVariablePointExpression
1.0ms
re
@0
(cbrt.f64 re)
0.0ms
re
@-inf
(cbrt.f64 re)
0.0ms
re
@0
(*.f64 re (pow.f64 im 2))
0.0ms
im
@inf
(*.f64 re (pow.f64 im 2))
0.0ms
re
@inf
(*.f64 re (pow.f64 im 2))

rewrite84.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1524×log-prod
766×pow-prod-up
674×pow-exp
566×expm1-udef
564×log1p-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01664
132760
2389960
Stop Event
node limit
Counts
4 → 105
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(cbrt.f64 re)
(*.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
Outputs
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) 1/2))
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1)
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (sin.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (sin.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(fma.f64 1/2 (sin.f64 re) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) 1/2))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (exp.f64 (*.f64 (*.f64 2/3 (log.f64 re)) 1/3)) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (*.f64 im (*.f64 im re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 6)))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4) 1/4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im)) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))

simplify90.0ms (1.6%)

Algorithm
egg-herbie
Rules
1882×log-prod
1808×fma-def
1046×unswap-sqr
776×*-commutative
444×exp-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03032913
16422809
219942611
363072611
Stop Event
node limit
Counts
129 → 158
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) 1/2))
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1)
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (sin.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (sin.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(fma.f64 1/2 (sin.f64 re) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) 1/2))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (exp.f64 (*.f64 (*.f64 2/3 (log.f64 re)) 1/3)) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (*.f64 im (*.f64 im re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 6)))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4) 1/4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im)) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(fma.f64 1/2 (*.f64 (sin.f64 re) im) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) im) (*.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) (*.f64 1/4 (*.f64 im im)))))
(+.f64 (*.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(fma.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3)) (+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) im) (*.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im))))))
(+.f64 (fma.f64 1/4 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (sin.f64 re) (*.f64 1/2 im))) (fma.f64 (*.f64 (sin.f64 re) 1/12) (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 im) (*.f64 1/4 (*.f64 im im)))) (fma.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) 1/12) (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))
(fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (*.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)) (*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)))))
(fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 5)) (*.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) 1/2) (fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 5) 1/120))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3))))))
(fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 7)) (fma.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 5)) (*.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3))))))
(fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 7)) (fma.f64 re (fma.f64 1/2 (exp.f64 im) 1/2) (fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 5) 1/120)))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) 1/2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (exp.f64 im) (fma.f64 1/2 (exp.f64 im) -1/2)) 1/4)))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)) (+.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) -1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (/.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (sin.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (exp.f64 im) (fma.f64 1/2 (exp.f64 im) -1/2)) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (sin.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)) (+.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) -1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (/.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))) 1) 1))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 1/3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (sin.f64 re) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sin.f64 re) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) 1/2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(cbrt.f64 re)
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(cbrt.f64 re)
(*.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(*.f64 1 (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(*.f64 (exp.f64 (*.f64 (*.f64 2/3 (log.f64 re)) 1/3)) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (exp.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (exp.f64 (*.f64 (log.f64 re) 2/9)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (exp.f64 2/9) (log.f64 re)))
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(cbrt.f64 re)
(pow.f64 (pow.f64 re 1/6) 2)
(cbrt.f64 re)
(pow.f64 (sqrt.f64 re) 2/3)
(cbrt.f64 re)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (log.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(+.f64 0 (*.f64 im (*.f64 im re)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 6)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1) 1))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im re)))) 3))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im re)))) 1/3))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) 4) 1/4))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (sqrt.f64 re)) 4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im)) 2))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (*.f64 (*.f64 1/2 im) im) re)
(*.f64 re (*.f64 1/2 (*.f64 im im)))

eval47.0ms (0.8%)

Compiler

Compiled 2155 to 1193 computations (44.6% saved)

prune96.0ms (1.7%)

Pruning

20 alts after pruning (13 fresh and 7 done)

PrunedKeptTotal
New1571158
Fresh01212
Picked145
Done033
Total15820178
Accurracy
100.0%
Counts
178 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
14.2%
(pow.f64 re -3)
4.7%
(/.f64 re (+.f64 re (-.f64 re re)))
3.0%
(/.f64 re -3)
45.5%
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
7.3%
(+.f64 re re)
98.7%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
60.3%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
30.8%
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
49.1%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
49.4%
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
56.4%
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
6.3%
(*.f64 re (*.f64 1/2 512))
5.9%
(*.f64 re (*.f64 1/2 1/512))
3.0%
(*.f64 re (*.f64 1/2 -1/2))
3.0%
(*.f64 re -2)
56.1%
(sin.f64 re)
3.9%
(cbrt.f64 re)
29.7%
re
14.2%
(pow.f64 re -3)
4.7%
(/.f64 re (+.f64 re (-.f64 re re)))
3.0%
(/.f64 re -3)
45.5%
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
7.3%
(+.f64 re re)
98.7%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
60.3%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
30.8%
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
49.1%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
49.4%
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
56.4%
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
6.3%
(*.f64 re (*.f64 1/2 512))
5.9%
(*.f64 re (*.f64 1/2 1/512))
3.0%
(*.f64 re (*.f64 1/2 -1/2))
3.0%
(*.f64 re -2)
56.1%
(sin.f64 re)
3.9%
(cbrt.f64 re)
29.7%
re
Compiler

Compiled 568 to 418 computations (26.4% saved)

localize100.0ms (1.7%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 (*.f64 1/2 im) (*.f64 re im))
100.0%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
Compiler

Compiled 82 to 40 computations (51.2% saved)

series2.0ms (0%)

Counts
2 → 28
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
0.0ms
im
@inf
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
0.0ms
re
@0
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
0.0ms
im
@-inf
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
0.0ms
re
@-inf
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)

rewrite70.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1430×log-prod
986×pow-prod-down
654×pow-prod-up
564×pow-exp
562×pow-unpow
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
126938
2341338
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
Outputs
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))
(+.f64 (*.f64 re 1/2) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (*.f64 1/2 (exp.f64 im))) (*.f64 re 1/2))
(+.f64 (*.f64 1/2 re) (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) re) (*.f64 1/2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1)
(/.f64 (*.f64 re (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 re (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) re) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(fma.f64 1/2 re (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(fma.f64 (*.f64 1/2 (exp.f64 im)) re (*.f64 1/2 re))
(fma.f64 re 1/2 (*.f64 re (*.f64 1/2 (exp.f64 im))))
(fma.f64 re (*.f64 1/2 (exp.f64 im)) (*.f64 re 1/2))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))

simplify85.0ms (1.5%)

Algorithm
egg-herbie
Rules
1534×log-prod
1032×fma-def
694×distribute-lft-in
682×distribute-rgt-in
536×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01591922
13651864
211221758
347651758
476201758
Stop Event
node limit
Counts
82 → 85
Calls
Call 1
Inputs
re
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(+.f64 (*.f64 1/4 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 re im)) re))
(+.f64 (*.f64 1/4 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 re im)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 3))) re)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))
(+.f64 (*.f64 re 1/2) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (*.f64 1/2 (exp.f64 im))) (*.f64 re 1/2))
(+.f64 (*.f64 1/2 re) (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) re) (*.f64 1/2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1)
(/.f64 (*.f64 re (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 re (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) re) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(fma.f64 1/2 re (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(fma.f64 (*.f64 1/2 (exp.f64 im)) re (*.f64 1/2 re))
(fma.f64 re 1/2 (*.f64 re (*.f64 1/2 (exp.f64 im))))
(fma.f64 re (*.f64 1/2 (exp.f64 im)) (*.f64 re 1/2))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
Outputs
re
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(fma.f64 1/2 (*.f64 re im) re)
(fma.f64 re (*.f64 1/2 im) re)
(+.f64 (*.f64 1/4 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 re im)) re))
(fma.f64 1/4 (*.f64 re (*.f64 im im)) (fma.f64 1/2 (*.f64 re im) re))
(+.f64 re (*.f64 (*.f64 re im) (+.f64 1/2 (*.f64 im 1/4))))
(+.f64 (*.f64 1/4 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 re im)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 3))) re)))
(fma.f64 1/4 (*.f64 re (*.f64 im im)) (fma.f64 1/2 (*.f64 re im) (fma.f64 1/12 (*.f64 re (pow.f64 im 3)) re)))
(+.f64 (fma.f64 re (*.f64 1/12 (pow.f64 im 3)) re) (*.f64 (*.f64 re im) (+.f64 1/2 (*.f64 im 1/4))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 0 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 re 1/2) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 re (*.f64 1/2 (exp.f64 im))) (*.f64 re 1/2))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 1/2 re) (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) re) (*.f64 1/2 re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(/.f64 (*.f64 re (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) re))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) re)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 re (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (fma.f64 (exp.f64 (*.f64 3 im)) 1/8 1/8) (/.f64 re (fma.f64 1/2 (*.f64 (exp.f64 im) (fma.f64 1/2 (exp.f64 im) -1/2)) 1/4)))
(/.f64 (*.f64 re (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 re (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 re (fma.f64 (exp.f64 im) -1/2 1/2)) (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (/.f64 re (fma.f64 (exp.f64 im) -1/2 1/2)))
(*.f64 re (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (fma.f64 (exp.f64 im) -1/2 1/2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) re))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) re)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 re (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (fma.f64 (exp.f64 (*.f64 3 im)) 1/8 1/8) (/.f64 re (fma.f64 1/2 (*.f64 (exp.f64 im) (fma.f64 1/2 (exp.f64 im) -1/2)) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) re) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 re (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 re (fma.f64 (exp.f64 im) -1/2 1/2)) (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (/.f64 re (fma.f64 (exp.f64 im) -1/2 1/2)))
(*.f64 re (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 1/4) (fma.f64 (exp.f64 im) -1/2 1/2)))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 1)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 3)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2) 1/2)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3) 1/3)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 2)
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 2))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re) 3))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)) 1) 1))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 3))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 1/3))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re))) 2))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) re)))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 re (*.f64 (*.f64 1/2 (exp.f64 im)) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 1/2 (exp.f64 im)) re (*.f64 1/2 re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 re 1/2 (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 re (*.f64 1/2 (exp.f64 im)) (*.f64 re 1/2))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 0 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im)))))
(*.f64 im (*.f64 re (log.f64 (sqrt.f64 (exp.f64 im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 1)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 3)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)) 1/2)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3) 1/3)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 2)
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im re)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 re im)))))
(*.f64 im (*.f64 re (log.f64 (sqrt.f64 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))) 3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))) 1) 1))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 1/3))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))) 2))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))

eval24.0ms (0.4%)

Compiler

Compiled 1135 to 653 computations (42.5% saved)

prune60.0ms (1.1%)

Pruning

21 alts after pruning (9 fresh and 12 done)

PrunedKeptTotal
New84185
Fresh088
Picked055
Done077
Total8421105
Accurracy
100.0%
Counts
105 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
14.2%
(pow.f64 re -3)
4.7%
(/.f64 re (+.f64 re (-.f64 re re)))
3.0%
(/.f64 re -3)
38.8%
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
45.5%
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
7.3%
(+.f64 re re)
98.7%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
60.3%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
83.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
30.8%
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
49.1%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
49.4%
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
61.0%
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
56.4%
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
6.3%
(*.f64 re (*.f64 1/2 512))
5.9%
(*.f64 re (*.f64 1/2 1/512))
3.0%
(*.f64 re (*.f64 1/2 -1/2))
3.0%
(*.f64 re -2)
56.1%
(sin.f64 re)
3.9%
(cbrt.f64 re)
29.7%
re
Compiler

Compiled 421 to 271 computations (35.6% saved)

regimes90.0ms (1.6%)

Counts
31 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Calls

6 calls:

20.0ms
im
15.0ms
(sin.f64 re)
15.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
re
11.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 280 to 168 computations (40% saved)

regimes80.0ms (1.4%)

Counts
30 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

16.0ms
(sin.f64 re)
15.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
im
14.0ms
re
10.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 269 to 163 computations (39.4% saved)

regimes61.0ms (1.1%)

Counts
28 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
Outputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
Calls

4 calls:

15.0ms
(sin.f64 re)
14.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
98.7%1re
98.7%1im
98.7%1(*.f64 1/2 (sin.f64 re))
98.7%1(sin.f64 re)
Compiler

Compiled 223 to 134 computations (39.9% saved)

regimes144.0ms (2.5%)

Counts
22 → 3
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 re (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/12 (*.f64 re re)))))
(*.f64 re (*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
Calls

4 calls:

36.0ms
(sin.f64 re)
34.0ms
(*.f64 1/2 (sin.f64 re))
34.0ms
im
31.0ms
re
Results
AccuracySegmentsBranch
93.4%3re
96.3%3im
93.0%3(*.f64 1/2 (sin.f64 re))
93.0%3(sin.f64 re)
Compiler

Compiled 156 to 97 computations (37.8% saved)

regimes32.0ms (0.6%)

Counts
18 → 3
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Outputs
(sin.f64 re)
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re)
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
Calls

1 calls:

28.0ms
im
Results
AccuracySegmentsBranch
95.9%3im
Compiler

Compiled 98 to 59 computations (39.8% saved)

regimes117.0ms (2%)

Counts
16 → 3
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
Outputs
(sin.f64 re)
(pow.f64 re -3)
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
Calls

3 calls:

47.0ms
(sin.f64 re)
41.0ms
re
26.0ms
im
Results
AccuracySegmentsBranch
67.2%4(sin.f64 re)
68.4%5re
89.1%3im
Compiler

Compiled 88 to 52 computations (40.9% saved)

regimes26.0ms (0.5%)

Counts
15 → 3
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -3)
(*.f64 2 (sin.f64 re))
Outputs
(sin.f64 re)
(pow.f64 re -3)
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

1 calls:

23.0ms
im
Results
AccuracySegmentsBranch
80.1%3im
Compiler

Compiled 73 to 44 computations (39.7% saved)

regimes17.0ms (0.3%)

Counts
13 → 2
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
(sin.f64 re)
Outputs
(sin.f64 re)
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

1 calls:

15.0ms
im
Results
AccuracySegmentsBranch
75.5%2im
Compiler

Compiled 66 to 40 computations (39.4% saved)

regimes17.0ms (0.3%)

Counts
12 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 im) (*.f64 re im)))
(cbrt.f64 re)
Outputs
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

2 calls:

8.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
49.1%1re
49.1%1im
Compiler

Compiled 67 to 41 computations (38.8% saved)

regimes15.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(/.f64 re (+.f64 re (-.f64 re re)))
Outputs
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
Calls

2 calls:

7.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
38.8%1im
38.8%1re
Compiler

Compiled 47 to 30 computations (36.2% saved)

regimes12.0ms (0.2%)

Accuracy

Total -18.0b remaining (-39.9%)

Threshold costs -18b (-39.9%)

Counts
7 → 1
Calls
Call 1
Inputs
re
(*.f64 re -2)
(+.f64 re re)
(/.f64 re -3)
(*.f64 re (*.f64 1/2 -1/2))
(*.f64 re (*.f64 1/2 1/512))
(*.f64 re (*.f64 1/2 512))
Outputs
re
Calls

2 calls:

6.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
29.7%1im
29.7%1re
Compiler

Compiled 33 to 23 computations (30.3% saved)

bsearch52.0ms (0.9%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
Steps
TimeLeftRight
14.0ms
5.322699242362842e+150
1.1310892314767355e+163
38.0ms
0.008142818074985401
15134.15065884797
Results
17.0ms99×body256valid
15.0ms33×body1024valid
6.0ms16×body1024infinite
6.0ms41×body256infinite
3.0ms12×body512valid
2.0msbody512infinite
Compiler

Compiled 323 to 254 computations (21.4% saved)

bsearch68.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
5.322699242362842e+150
1.1310892314767355e+163
34.0ms
0.008142818074985401
15134.15065884797
Results
16.0ms103×body256valid
15.0ms111×body256infinite
13.0ms35×body1024infinite
12.0ms25×body1024valid
4.0ms16×body512valid
3.0ms14×body512infinite
Compiler

Compiled 383 to 302 computations (21.1% saved)

bsearch86.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
49.0ms
5.322699242362842e+150
1.1310892314767355e+163
36.0ms
0.008142818074985401
15134.15065884797
Results
42.0ms72×body1024infinite
19.0ms135×body256infinite
10.0ms62×body256valid
5.0ms20×body512infinite
4.0ms10×body1024valid
1.0msbody512valid
Compiler

Compiled 288 to 226 computations (21.5% saved)

bsearch73.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
37.0ms
5.322699242362842e+150
1.1310892314767355e+163
36.0ms
0.008142818074985401
15134.15065884797
Results
31.0ms79×body1024infinite
18.0ms130×body256infinite
9.0ms59×body256valid
6.0ms14×body1024valid
4.0ms17×body512infinite
1.0msbody512valid
Compiler

Compiled 298 to 236 computations (20.8% saved)

bsearch30.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
4.1496901582544286e-7
0.0013538441435830618
Results
14.0ms88×body256valid
10.0ms26×body1024valid
4.0ms14×body512valid
Compiler

Compiled 155 to 119 computations (23.2% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
26×*-commutative
12×+-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061449
183449
285449
386449
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(if (<=.f64 im 2476979795053773/562949953421312) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 2476979795053773/562949953421312) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 750) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -3) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 800) (sin.f64 re) (if (<=.f64 im 6799999999999999477189142852946426319262359835883719242053585937896128210980306806693612645355425237203206624377671434184094152468481062739302060455362560) (pow.f64 re -3) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 8762203435012037/9223372036854775808) (sin.f64 re) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
re
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 2476979795053773/562949953421312) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 2476979795053773/562949953421312) (*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 2476979795053773/562949953421312) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 2476979795053773/562949953421312) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 750) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -3) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 800) (sin.f64 re) (if (<=.f64 im 6799999999999999477189142852946426319262359835883719242053585937896128210980306806693612645355425237203206624377671434184094152468481062739302060455362560) (pow.f64 re -3) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 800) (sin.f64 re) (if (<=.f64 im 6799999999999999477189142852946426319262359835883719242053585937896128210980306806693612645355425237203206624377671434184094152468481062739302060455362560) (pow.f64 re -3) (*.f64 re (+.f64 (*.f64 1/2 (*.f64 im im)) 1))))
(if (<=.f64 im 8762203435012037/9223372036854775808) (sin.f64 re) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 8762203435012037/9223372036854775808) (sin.f64 re) (*.f64 re (+.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(*.f64 re (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(+.f64 (*.f64 1/2 (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re im)))
re
Compiler

Compiled 188 to 131 computations (30.3% saved)

soundness815.0ms (14.3%)

Rules
1686×fma-def
1686×fma-def
1568×unswap-sqr
1568×unswap-sqr
1474×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
01563486
14753130
215102928
365162928
01943675
14553371
212373197
348433091
027125
1591125
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
01563486
14753130
215102928
365162928
01943675
14553371
212373197
348433091
01943675
14553371
212373197
348433091
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 388 to 244 computations (37.1% saved)

end0.0ms (0%)

preprocess103.0ms (1.8%)

Remove

(abs im)

Compiler

Compiled 390 to 230 computations (41% saved)

Profiling

Loading profile data...