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)

sample1.5s (27.1%)

Results
922.0ms4113×body256valid
608.0ms4141×body256infinite
1.0msbody1024valid
Bogosity

preprocess158.0ms (2.8%)

Algorithm
egg-herbie
Rules
1388×fma-def
1228×distribute-lft-neg-in
1086×fma-neg
802×times-frac
798×distribute-rgt-neg-in
Problems
256×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
034224
197224
2259220
3527212
41154210
53089210
65254210
77984210
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 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 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 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(*.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 (*.f64 1/2 (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 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs im)

Compiler

Compiled 55 to 36 computations (34.5% saved)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

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)

localize106.0ms (1.9%)

Localize:

Found 5 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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 1/2 (exp.f64 im))
100.0%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 66 to 26 computations (60.6% saved)

series13.0ms (0.2%)

Counts
5 → 76
Calls

21 calls:

TimeVariablePointExpression
3.0ms
re
@inf
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
2.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 (*.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
re
@0
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

rewrite75.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
268×associate-*r*
166×associate-*l*
122×add-exp-log
122×add-log-exp
122×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020126
1270126
24367126
Stop Event
unsound
Counts
5 → 64
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.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 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
-1/2
-1/4
0
1/4
1/2
2

simplify83.0ms (1.4%)

Algorithm
egg-herbie
Rules
1666×fma-def
1280×associate-*r*
1118×associate-*l*
762×associate-+r+
702×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01514406
14753811
215193601
366333601
Stop Event
node limit
Counts
140 → 115
Calls
Call 1
Inputs
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.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 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/240 (*.f64 (pow.f64 re 5) (+.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/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.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 (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 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(*.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
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.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 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(log.f64 (pow.f64 -1 (sin.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (sin.f64 re) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
-1/2
-1/4
0
1/4
1/2
2
Outputs
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (*.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 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/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (fma.f64 1/120 (pow.f64 re 5) re) (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (sin.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (*.f64 im -1/2))
(fma.f64 im -1/2 1/2)
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 1/2 (fma.f64 im -1/2 (*.f64 (pow.f64 im 2) 1/4)))
(fma.f64 (pow.f64 im 2) 1/4 (fma.f64 im -1/2 1/2))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 1/2 (fma.f64 -1/2 im (fma.f64 -1/12 (pow.f64 im 3) (*.f64 (pow.f64 im 2) 1/4))))
(+.f64 (fma.f64 im -1/2 1/2) (fma.f64 -1/12 (pow.f64 im 3) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (fma.f64 im -1/2 1/2) (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 im -1/12))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 re (+.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 (*.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 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (*.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 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/240 (*.f64 (pow.f64 re 5) (+.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 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.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/240 (*.f64 (pow.f64 re 5) (+.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 -1/6 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (fma.f64 1/120 (pow.f64 re 5) re) (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 (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 (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 (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 (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 (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 (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 (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 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (sin.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) (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 (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 (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 (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 (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 (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 (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 (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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))
(+.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 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) -1)
(neg.f64 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))))
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (sin.f64 re) 2)
(*.f64 1/2 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
1
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
1
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 1 (*.f64 (sin.f64 re) -1/2))
(/.f64 -2 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) -1/8)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(*.f64 (fabs.f64 (sin.f64 re)) 1/2)
(*.f64 1/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) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(/.f64 1 (*.f64 (sin.f64 re) -1/2))
(/.f64 -2 (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(*.f64 (*.f64 (sin.f64 re) -1/2) (exp.f64 -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
0
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
0
-1/2
-1/4
0
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
1/4
1/2
2
-1/2
-1/4
0
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) -1)
(neg.f64 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2))))
(/.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 (sin.f64 re) 2)
(*.f64 1/2 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/2) (+.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))))
1
(/.f64 (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)) (-.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2)))
1
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1/2)
(pow.f64 (*.f64 (sin.f64 re) -1/2) -1)
(/.f64 1 (*.f64 (sin.f64 re) -1/2))
(/.f64 -2 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -1/2) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) -1/8)
(pow.f64 (*.f64 (sin.f64 re) -1/2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(sqrt.f64 (*.f64 (sin.f64 re) -1/2))
(fabs.f64 (*.f64 (sin.f64 re) -1/2))
(*.f64 (fabs.f64 (sin.f64 re)) 1/2)
(*.f64 1/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) -1/2))))
(cbrt.f64 (*.f64 (sin.f64 re) -1/2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1))
(/.f64 1 (*.f64 (sin.f64 re) -1/2))
(/.f64 -2 (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -1/2)) -1/2))
(*.f64 (*.f64 (sin.f64 re) -1/2) (exp.f64 -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -1/2)))
(*.f64 (sin.f64 re) -1/2)
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
0
(fma.f64 (*.f64 (sin.f64 re) -1/2) -1 (*.f64 (sin.f64 re) -1/2))
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
0
-1/2
-1/4
0
(fma.f64 -1 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) -1/2))
1/4
1/2
2

eval37.0ms (0.6%)

Compiler

Compiled 1642 to 1028 computations (37.4% saved)

prune27.0ms (0.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1087115
Fresh000
Picked112
Done000
Total1098117
Accuracy
100.0%
Counts
117 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
98.8%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
10.4%
(*.f64 (sin.f64 re) 2)
63.6%
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
63.6%
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
48.7%
(sin.f64 re)
2.9%
0
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
98.8%
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
10.4%
(*.f64 (sin.f64 re) 2)
63.6%
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
63.6%
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
48.7%
(sin.f64 re)
2.9%
0
Compiler

Compiled 264 to 202 computations (23.5% saved)

localize106.0ms (1.9%)

Localize:

Found 5 expressions with local error:

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

Compiled 91 to 34 computations (62.6% saved)

series10.0ms (0.2%)

Counts
5 → 76
Calls

24 calls:

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

rewrite29.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
290×associate-*r*
180×associate-*l*
130×add-exp-log
130×add-log-exp
130×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022113
1287113
24663113
Stop Event
unsound
Counts
5 → 74
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 -2 re re)
(fma.f64 re -2 re)
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8

simplify82.0ms (1.4%)

Algorithm
egg-herbie
Rules
1732×fma-def
1304×distribute-lft-out
1110×associate-*r*
916×associate-*l*
898×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01663490
14423113
213992905
365302896
Stop Event
node limit
Counts
150 → 150
Calls
Call 1
Inputs
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.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 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (sin.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))))
(*.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))))
1
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 2 re)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) re)) (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/360 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) re)) (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.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 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 -2 re re)
(fma.f64 re -2 re)
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8
Outputs
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))))
(fma.f64 -1/6 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))))
(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 (*.f64 1/120 (pow.f64 re 5)) re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))))
(fma.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 1/120 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 5)) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 1/120 (pow.f64 re 5)) re)) (*.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 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (fma.f64 -1/5040 (pow.f64 re 7) (*.f64 1/120 (pow.f64 re 5))) (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (fma.f64 -1/5040 (pow.f64 re 7) (*.f64 1/120 (pow.f64 re 5)))))
(*.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 im (sin.f64 re))))
(*.f64 (fma.f64 1/2 im 1) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 im (fma.f64 1/4 (pow.f64 im 2) 1)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (sin.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3)) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 im (sin.f64 re))))))
(+.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2)))) (*.f64 (fma.f64 1/2 im 1) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 im (*.f64 (pow.f64 im 2) (+.f64 (*.f64 im 1/12) 1/4)))))
(*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 3) (fma.f64 1/2 im (fma.f64 1/4 (pow.f64 im 2) 1))))
(*.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))
1
(+.f64 1 (*.f64 1/2 im))
(fma.f64 1/2 im 1)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/4 (pow.f64 im 2) (*.f64 1/2 im)))
(+.f64 (fma.f64 1/2 im 1) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (fma.f64 1/4 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))))
(+.f64 1 (fma.f64 1/12 (pow.f64 im 3) (fma.f64 1/4 (pow.f64 im 2) (*.f64 1/2 im))))
(+.f64 (fma.f64 1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2))) (fma.f64 1/2 im 1))
(fma.f64 1/12 (pow.f64 im 3) (fma.f64 1/2 im (fma.f64 1/4 (pow.f64 im 2) 1)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 re 1/2 (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 re) (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (fma.f64 (pow.f64 re 5) 1/240 (*.f64 re 1/2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 1/2 (fma.f64 1/120 (pow.f64 re 5) re))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2))) (fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 2 (pow.f64 im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 re) (+.f64 2 (pow.f64 im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 5) 1/240))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 5) 1/240 (*.f64 re 1/2)) (fma.f64 (pow.f64 re 3) -1/12 (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 (fma.f64 1/120 (pow.f64 re 5) re)) (fma.f64 (pow.f64 re 3) -1/12 (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) re)) (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
(fma.f64 1/12 (*.f64 re (pow.f64 im 4)) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 1/360 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) re)) (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))))
(fma.f64 1/360 (*.f64 re (pow.f64 im 6)) (fma.f64 1/12 (*.f64 re (pow.f64 im 4)) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(fma.f64 1/360 (*.f64 re (pow.f64 im 6)) (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 re (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.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 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(+.f64 -2 (*.f64 2 (cos.f64 re)))
(fma.f64 2 (cos.f64 re) -2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 re)) -2)
(-.f64 -1/2 (/.f64 (cos.f64 re) -2))
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(pow.f64 (sin.f64 re) -2)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(*.f64 (sin.f64 re) 2)
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(+.f64 -2 (*.f64 2 (cos.f64 re)))
(fma.f64 2 (cos.f64 re) -2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 re)) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 re)) -2)
(-.f64 -1/2 (/.f64 (cos.f64 re) -2))
(pow.f64 (sin.f64 re) -2)
(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 -2 (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)) -2))
(pow.f64 (sin.f64 re) -2)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 re re)
(*.f64 re 2)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(+.f64 (exp.f64 (log1p.f64 re)) 2)
(+.f64 2 (exp.f64 (log1p.f64 re)))
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 (-.f64 re re) (-.f64 re re))
1
(pow.f64 re -2)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
re
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) -2))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 re))
re
(fma.f64 -2 re re)
(neg.f64 re)
(fma.f64 re -2 re)
(fma.f64 -2 re re)
(neg.f64 re)
-2
-1
0
1/8
1/4
1/2
1
3/2
2
3
4
8

eval42.0ms (0.7%)

Compiler

Compiled 1831 to 1256 computations (31.4% saved)

prune44.0ms (0.8%)

Pruning

17 alts after pruning (14 fresh and 3 done)

PrunedKeptTotal
New13713150
Fresh112
Picked325
Done011
Total14117158
Accuracy
100.0%
Counts
158 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
49.1%
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
63.2%
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
50.0%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
7.6%
(*.f64 1/2 (pow.f64 re -2))
4.3%
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
2.6%
(*.f64 1/2 (/.f64 re -2))
50.0%
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
26.2%
(*.f64 1/2 (+.f64 re re))
30.5%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
2.6%
(*.f64 1/2 (neg.f64 re))
3.8%
(*.f64 1/2 (cbrt.f64 re))
6.6%
(*.f64 1/2 re)
48.7%
(sin.f64 re)
2.9%
0
98.8%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
49.1%
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
63.2%
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
50.0%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
7.6%
(*.f64 1/2 (pow.f64 re -2))
4.3%
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
2.6%
(*.f64 1/2 (/.f64 re -2))
50.0%
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
26.2%
(*.f64 1/2 (+.f64 re re))
30.5%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
2.6%
(*.f64 1/2 (neg.f64 re))
3.8%
(*.f64 1/2 (cbrt.f64 re))
6.6%
(*.f64 1/2 re)
48.7%
(sin.f64 re)
2.9%
0
Compiler

Compiled 514 to 400 computations (22.2% saved)

localize101.0ms (1.8%)

Localize:

Found 3 expressions with local error:

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

Compiled 78 to 49 computations (37.2% saved)

series4.0ms (0.1%)

Counts
3 → 44
Calls

15 calls:

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

rewrite87.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1174×log-prod
1030×prod-diff
884×fma-def
689×log1p-expm1-u
688×expm1-log1p-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01882
123470
2304970
Stop Event
node limit
Counts
3 → 134
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
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 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.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 (*.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 (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)))))
(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))
(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 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (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 1 (/.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.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))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(+.f64 0 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im))) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (sin.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 2) 1/4)) (sin.f64 re)) (+.f64 1 (*.f64 -1/2 im)))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 im) (sin.f64 re) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) 1/2) im (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) im) 1/2 (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2)) (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (sin.f64 re))

simplify93.0ms (1.6%)

Algorithm
egg-herbie
Rules
998×associate-+r+
896×associate-+l+
538×associate-*r*
472×associate-*l*
432×associate-/l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03616381
19055651
231985369
Stop Event
node limit
Counts
178 → 210
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (sin.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))))
(*.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 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.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 (sin.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))))
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 im (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 im (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.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 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.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 (*.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 (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)))))
(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))
(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 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (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 1 (/.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.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))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(+.f64 0 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im))) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (sin.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 2) 1/4)) (sin.f64 re)) (+.f64 1 (*.f64 -1/2 im)))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 im) (sin.f64 re) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) 1/2) im (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) im) 1/2 (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2)) (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (sin.f64 re))
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (sin.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/12 (*.f64 (sin.f64 re) (pow.f64 im 3)) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))))
(+.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2)))) (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))
(*.f64 (sin.f64 re) (+.f64 1 (fma.f64 1/12 (pow.f64 im 3) (*.f64 im (+.f64 1/2 (*.f64 im 1/4))))))
(*.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 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.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 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) 1/2)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.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 (*.f64 1/120 (pow.f64 re 5)) re) (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) 1/2)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 (exp.f64 im) 1/2)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 re (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.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 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (+.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))
1
(+.f64 1 (*.f64 1/2 im))
(fma.f64 1/2 im 1)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/4 (pow.f64 im 2) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4))))
(+.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))))
(+.f64 1 (fma.f64 1/12 (pow.f64 im 3) (fma.f64 1/4 (pow.f64 im 2) (*.f64 1/2 im))))
(+.f64 (fma.f64 1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2))) (fma.f64 1/2 im 1))
(+.f64 1 (fma.f64 1/12 (pow.f64 im 3) (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))))
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 im 1)) (*.f64 re (fma.f64 1/2 im 1)))
(*.f64 (fma.f64 1/2 im 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im)))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 im 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 im 1)) (*.f64 re (fma.f64 1/2 im 1))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 im 1)) (*.f64 (fma.f64 1/2 im 1) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 im 1) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 im 1)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 im 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 im 1)) (*.f64 re (fma.f64 1/2 im 1)))))
(+.f64 (*.f64 (fma.f64 1/2 im 1) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 im 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (fma.f64 1/2 im 1) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 1/2 im))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 1/2 im))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.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 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(*.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 (sin.f64 re) (/.f64 (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 (/.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 (*.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 (sin.f64 re) (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 (sin.f64 re) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2))) (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2)) (sin.f64 re))
(/.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 (sin.f64 re) (/.f64 (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 (/.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 (*.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 (sin.f64 re) (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 (sin.f64 re) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2))) (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2)) (sin.f64 re))
(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 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.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))
(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 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (/.f64 1/4 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (/.f64 (*.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 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (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) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 1 (/.f64 (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 1 (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) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 1 (/.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.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))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (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) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (+.f64 1/4 (*.f64 -1/4 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (+.f64 1/4 (*.f64 (exp.f64 im) -1/4))))
(/.f64 (-.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 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (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 1 (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) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 0 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))) 1)
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im))) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) im) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 im (-.f64 (*.f64 im 1/4) 1/2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 im) (*.f64 1/2 im)))) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 2) -1/4))) (+.f64 (sin.f64 re) (*.f64 -1/2 (*.f64 (sin.f64 re) im))))
(/.f64 (sin.f64 re) (/.f64 (*.f64 (sin.f64 re) (fma.f64 im -1/2 1)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) -1/4)))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (/.f64 (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1)) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 2))) (/.f64 (+.f64 1 (*.f64 im -1/2)) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 im -1/2 1)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/4)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (sin.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (/.f64 (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1)) (sin.f64 re))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 2) 1/4)) (sin.f64 re)) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 2))) (/.f64 (+.f64 1 (*.f64 im -1/2)) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 im -1/2 1)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/4)))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 1)
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 3)
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 2)
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 2))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 im 1)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (exp.f64 (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1)) 3))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (sin.f64 re) 3)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1/2 (*.f64 im (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 im (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 1/2 im) (sin.f64 re) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (sin.f64 re))) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sin.f64 re) 1/2) im (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sin.f64 re) im) 1/2 (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 im)) 2)) (cbrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 im) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))

eval71.0ms (1.2%)

Compiler

Compiled 3343 to 2109 computations (36.9% saved)

prune57.0ms (1%)

Pruning

20 alts after pruning (13 fresh and 7 done)

PrunedKeptTotal
New2064210
Fresh099
Picked145
Done033
Total20720227
Accuracy
100.0%
Counts
227 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
30.9%
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
74.8%
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
98.8%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.1%
(*.f64 (sin.f64 re) (*.f64 1/2 im))
32.8%
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
63.2%
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
50.0%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
7.6%
(*.f64 1/2 (pow.f64 re -2))
4.3%
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
2.6%
(*.f64 1/2 (/.f64 re -2))
50.0%
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
26.2%
(*.f64 1/2 (+.f64 re re))
30.5%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
2.6%
(*.f64 1/2 (neg.f64 re))
3.8%
(*.f64 1/2 (cbrt.f64 re))
6.6%
(*.f64 1/2 re)
48.7%
(sin.f64 re)
2.9%
0
30.9%
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
74.8%
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
98.8%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.1%
(*.f64 (sin.f64 re) (*.f64 1/2 im))
32.8%
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
63.2%
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
50.0%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
7.6%
(*.f64 1/2 (pow.f64 re -2))
4.3%
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
2.6%
(*.f64 1/2 (/.f64 re -2))
50.0%
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
26.2%
(*.f64 1/2 (+.f64 re re))
30.5%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
2.6%
(*.f64 1/2 (neg.f64 re))
3.8%
(*.f64 1/2 (cbrt.f64 re))
6.6%
(*.f64 1/2 re)
48.7%
(sin.f64 re)
2.9%
0
Compiler

Compiled 622 to 482 computations (22.5% saved)

localize119.0ms (2.1%)

Localize:

Found 5 expressions with local error:

NewAccuracyProgram
92.6%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
99.1%
(cbrt.f64 re)
100.0%
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
100.0%
(*.f64 im (+.f64 1/2 (*.f64 im 1/4)))
92.5%
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
Compiler

Compiled 103 to 67 computations (35% saved)

series8.0ms (0.1%)

Counts
5 → 72
Calls

24 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
1.0ms
re
@inf
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
1.0ms
re
@0
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
0.0ms
re
@inf
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
0.0ms
re
@-inf
(cbrt.f64 re)

rewrite108.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1046×log1p-expm1-u
592×expm1-udef
592×log1p-udef
438×expm1-log1p-u
340×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026132
1352116
24801116
Stop Event
node limit
Counts
5 → 114
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
(*.f64 im (+.f64 1/2 (*.f64 im 1/4)))
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(cbrt.f64 re)
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
Outputs
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))) (sin.f64 re))
(+.f64 (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3)) (sin.f64 re)) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (sin.f64 re)) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 im (fma.f64 im 1/4 1/2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(+.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (*.f64 im 1/2) (*.f64 (*.f64 1/4 (pow.f64 im 2)) 1))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 im 1/2))
(-.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 1)
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 im 3)) (pow.f64 (*.f64 1/4 (pow.f64 im 2)) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (-.f64 (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2))) (*.f64 1/8 (pow.f64 im 3)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2)))) (-.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2))))
(/.f64 (*.f64 im (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8)) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 (*.f64 im (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8) im) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 im) (fma.f64 im 1/4 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 im 1/2 (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (cbrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 (*.f64 1/2 (*.f64 im re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1)))) 1)
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (*.f64 im re)) 3)) (+.f64 (pow.f64 re 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re))) (*.f64 re (*.f64 1/2 (*.f64 im re))))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re)))) (-.f64 re (*.f64 1/2 (*.f64 im re))))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 im 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 2)))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 3))) re) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 2))) re) (+.f64 1 (*.f64 -1/2 im)))
(pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 3)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im 1/2 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1)))))
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 im 1/2 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1))))
(exp.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1))))
(fma.f64 1 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 re 1 (*.f64 1/2 (*.f64 im re)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 re) 1)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.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)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(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))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (fma.f64 im im 2)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))

simplify120.0ms (2.1%)

Algorithm
egg-herbie
Rules
1420×fma-neg
588×log-prod
564×associate-+r+
544×associate-+l+
500×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03247030
18665537
232115440
377485422
Stop Event
node limit
Counts
186 → 193
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 1/2 im)
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
re
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(*.f64 1/2 (*.f64 im re))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(*.f64 1/2 (*.f64 im re))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))) (sin.f64 re))
(+.f64 (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3)) (sin.f64 re)) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (sin.f64 re)) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 im (fma.f64 im 1/4 1/2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(+.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (*.f64 im 1/2) (*.f64 (*.f64 1/4 (pow.f64 im 2)) 1))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 im 1/2))
(-.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 1)
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 im 3)) (pow.f64 (*.f64 1/4 (pow.f64 im 2)) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (-.f64 (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2))) (*.f64 1/8 (pow.f64 im 3)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2)))) (-.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2))))
(/.f64 (*.f64 im (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8)) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 (*.f64 im (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8) im) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 im) (fma.f64 im 1/4 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 im 1/2 (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (cbrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 (*.f64 1/2 (*.f64 im re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1)))) 1)
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (*.f64 im re)) 3)) (+.f64 (pow.f64 re 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re))) (*.f64 re (*.f64 1/2 (*.f64 im re))))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re)))) (-.f64 re (*.f64 1/2 (*.f64 im re))))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 im 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 2)))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 3))) re) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 2))) re) (+.f64 1 (*.f64 -1/2 im)))
(pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 3)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im 1/2 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1)))))
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 im 1/2 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1))))
(exp.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1))))
(fma.f64 1 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 re 1 (*.f64 1/2 (*.f64 im re)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 re) 1)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.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)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(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))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (fma.f64 im im 2)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (fma.f64 1/2 im 1) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 im 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re))))
(fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 re (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (*.f64 re (fma.f64 im (fma.f64 im 1/4 1/2) 1)))
(*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (*.f64 re (fma.f64 im (fma.f64 im 1/4 1/2) 1))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 im (fma.f64 im 1/4 1/2) 1)) (*.f64 re (fma.f64 im (fma.f64 im 1/4 1/2) 1)))))
(+.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(*.f64 1/2 im)
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
re
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 im re))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (*.f64 1/2 im))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 im re))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (*.f64 1/2 im))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im (fma.f64 im 1/4 1/2))) (sin.f64 re))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (sin.f64 re)) (sin.f64 re))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))) 1)
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (sin.f64 re) (/.f64 (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2))))) (sin.f64 re))
(/.f64 (sin.f64 re) (/.f64 (+.f64 1 (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (fma.f64 im (fma.f64 im 1/4 1/2) -1))) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (/.f64 (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))) (sin.f64 re)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2)))) (sin.f64 re))
(*.f64 (/.f64 (sin.f64 re) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2)))) (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3)) (sin.f64 re)) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))))
(/.f64 (sin.f64 re) (/.f64 (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2)))) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2) (*.f64 im (fma.f64 im 1/4 1/2))))) (sin.f64 re))
(/.f64 (sin.f64 re) (/.f64 (+.f64 1 (*.f64 (*.f64 im (fma.f64 im 1/4 1/2)) (fma.f64 im (fma.f64 im 1/4 1/2) -1))) (+.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (sin.f64 re)) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (/.f64 (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2))) (sin.f64 re)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2)))) (sin.f64 re))
(*.f64 (/.f64 (sin.f64 re) (-.f64 1 (*.f64 im (fma.f64 im 1/4 1/2)))) (-.f64 1 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2)))
(pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 1)
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 3)
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3) 1/3)
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 2)
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 2))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 im (fma.f64 im 1/4 1/2) 1)))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re)) 3))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3) (pow.f64 (sin.f64 re) 3)))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 3)))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))) 1))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) (sin.f64 re))))
(+.f64 (sin.f64 re) (fma.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(*.f64 (sin.f64 re) (fma.f64 im (fma.f64 im 1/4 1/2) 1))
(+.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 im 1/2) (*.f64 (*.f64 1/4 (pow.f64 im 2)) 1))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 im 1/2))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(-.f64 (fma.f64 im (fma.f64 im 1/4 1/2) 1) 1)
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 im 3)) (pow.f64 (*.f64 1/4 (pow.f64 im 2)) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (-.f64 (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2))) (*.f64 1/8 (pow.f64 im 3)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 3) (*.f64 1/64 (pow.f64 (pow.f64 im 2) 3))) (fma.f64 1/4 (pow.f64 im 2) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 im 2) (pow.f64 im 2))) (*.f64 -1/8 (pow.f64 im 3)))))
(/.f64 (fma.f64 1/64 (pow.f64 (pow.f64 im 2) 3) (*.f64 1/8 (pow.f64 im 3))) (fma.f64 1/4 (pow.f64 im 2) (fma.f64 1/16 (pow.f64 im 4) (*.f64 (pow.f64 im 3) -1/8))))
(/.f64 (fma.f64 1/8 (pow.f64 im 3) (*.f64 1/64 (pow.f64 im 6))) (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 im (-.f64 (*.f64 im 1/16) 1/8)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 3) (*.f64 1/64 (pow.f64 im 6))) (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 im (fma.f64 im 1/16 -1/8)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/4 (pow.f64 im 2)))) (-.f64 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/16 (*.f64 (pow.f64 im 2) (pow.f64 im 2)))) (+.f64 (*.f64 1/2 im) (*.f64 -1/4 (pow.f64 im 2))))
(/.f64 (fma.f64 1/4 (pow.f64 im 2) (*.f64 -1/16 (pow.f64 im 4))) (fma.f64 1/2 im (*.f64 (pow.f64 im 2) -1/4)))
(/.f64 (fma.f64 1/4 (pow.f64 im 2) (*.f64 (pow.f64 im 4) -1/16)) (*.f64 im (fma.f64 im -1/4 1/2)))
(/.f64 (*.f64 im (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8)) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 im (/.f64 (+.f64 1/4 (-.f64 (*.f64 (pow.f64 im 2) 1/16) (*.f64 im 1/8))) (fma.f64 (pow.f64 im 3) 1/64 1/8)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/64 1/8) (+.f64 1/4 (fma.f64 (pow.f64 im 2) 1/16 (*.f64 im -1/8)))) im)
(*.f64 (/.f64 im (+.f64 1/4 (*.f64 im (-.f64 (*.f64 im 1/16) 1/8)))) (fma.f64 (pow.f64 im 3) 1/64 1/8))
(*.f64 (/.f64 im (+.f64 1/4 (*.f64 im (fma.f64 im 1/16 -1/8)))) (fma.f64 (pow.f64 im 3) 1/64 1/8))
(/.f64 (*.f64 im (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 im (/.f64 (+.f64 1/2 (*.f64 im -1/4)) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16))))
(*.f64 (/.f64 im (fma.f64 im -1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 im 2) -1/16)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/64) 1/8) im) (-.f64 (+.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) (*.f64 1/8 im)))
(/.f64 im (/.f64 (+.f64 1/4 (-.f64 (*.f64 (pow.f64 im 2) 1/16) (*.f64 im 1/8))) (fma.f64 (pow.f64 im 3) 1/64 1/8)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/64 1/8) (+.f64 1/4 (fma.f64 (pow.f64 im 2) 1/16 (*.f64 im -1/8)))) im)
(*.f64 (/.f64 im (+.f64 1/4 (*.f64 im (-.f64 (*.f64 im 1/16) 1/8)))) (fma.f64 (pow.f64 im 3) 1/64 1/8))
(*.f64 (/.f64 im (+.f64 1/4 (*.f64 im (fma.f64 im 1/16 -1/8)))) (fma.f64 (pow.f64 im 3) 1/64 1/8))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 im (/.f64 (+.f64 1/2 (*.f64 im -1/4)) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/16))))
(*.f64 (/.f64 im (fma.f64 im -1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 im 2) -1/16)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (pow.f64 (exp.f64 im) (fma.f64 im 1/4 1/2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1 (*.f64 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 im 1/2 (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (cbrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (*.f64 im 1/2)) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 1/2 im (*.f64 1/4 (pow.f64 im 2)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 re (*.f64 (*.f64 1/2 (*.f64 im re)) 1))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) re)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1)))) 1)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (*.f64 im re)) 3)) (+.f64 (pow.f64 re 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re))) (*.f64 re (*.f64 1/2 (*.f64 im re))))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 (*.f64 1/2 im) re) 3)) (+.f64 (pow.f64 re 2) (*.f64 (*.f64 (*.f64 1/2 im) re) (-.f64 (*.f64 (*.f64 1/2 im) re) re))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 re im) 3) (pow.f64 re 3)) (fma.f64 (*.f64 re (*.f64 1/2 im)) (fma.f64 1/2 (*.f64 re im) (neg.f64 re)) (pow.f64 re 2)))
(/.f64 (*.f64 (pow.f64 re 3) (fma.f64 1/8 (pow.f64 im 3) 1)) (fma.f64 (*.f64 re (*.f64 1/2 im)) (*.f64 re (-.f64 (*.f64 1/2 im) 1)) (pow.f64 re 2)))
(/.f64 (*.f64 (pow.f64 re 3) (fma.f64 1/8 (pow.f64 im 3) 1)) (fma.f64 re re (*.f64 (pow.f64 re 2) (*.f64 im (+.f64 (*.f64 im 1/4) -1/2)))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (*.f64 1/2 (*.f64 im re)) (*.f64 1/2 (*.f64 im re)))) (-.f64 re (*.f64 1/2 (*.f64 im re))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 1/4 (*.f64 (*.f64 re im) (*.f64 re im)))) (-.f64 re (*.f64 (*.f64 1/2 im) re)))
(/.f64 (fma.f64 re re (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 re (*.f64 (*.f64 im -1/2) re)))
(/.f64 (fma.f64 re re (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))) (*.f64 re (fma.f64 im -1/2 1)))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 im 3)))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 re (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 2) (*.f64 im -1/2))) (+.f64 1 (*.f64 1/8 (pow.f64 im 3)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 3) 1) (+.f64 1 (fma.f64 im -1/2 (*.f64 1/4 (pow.f64 im 2))))) re)
(*.f64 (/.f64 re (+.f64 1 (*.f64 im (+.f64 (*.f64 im 1/4) -1/2)))) (fma.f64 1/8 (pow.f64 im 3) 1))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 2)))) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 2))) (/.f64 (+.f64 1 (*.f64 im -1/2)) re))
(*.f64 (/.f64 re (fma.f64 im -1/2 1)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/4)))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 3))) re) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im))))
(/.f64 re (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 2) (*.f64 im -1/2))) (+.f64 1 (*.f64 1/8 (pow.f64 im 3)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 3) 1) (+.f64 1 (fma.f64 im -1/2 (*.f64 1/4 (pow.f64 im 2))))) re)
(*.f64 (/.f64 re (+.f64 1 (*.f64 im (+.f64 (*.f64 im 1/4) -1/2)))) (fma.f64 1/8 (pow.f64 im 3) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 2))) re) (+.f64 1 (*.f64 -1/2 im)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 2))) (/.f64 (+.f64 1 (*.f64 im -1/2)) re))
(*.f64 (/.f64 re (fma.f64 im -1/2 1)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/4)))
(pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 1)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 3)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(pow.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3) 1/3)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 im 1/2 1))) 2)
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 2))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im 1/2 1)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1)))))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 im 1/2 1)) 3))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 im 1/2 1) 3)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1) 3) (pow.f64 re 3)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 im 1/2 1))))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(exp.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 im 1/2 1))) 1))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 im 1/2 1))))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(fma.f64 1 re (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(fma.f64 re 1 (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 1/2 (*.f64 im re)))
(fma.f64 1/2 (*.f64 re im) re)
(*.f64 re (fma.f64 1/2 im 1))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(cbrt.f64 re)
(*.f64 1 (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(cbrt.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.f64 (sqrt.f64 re) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.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)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(cbrt.f64 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)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) 1)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 3)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) 1/3)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 2)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (fma.f64 im im 2)) re))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 3) (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 1))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))

eval64.0ms (1.1%)

Compiler

Compiled 2915 to 2064 computations (29.2% saved)

prune46.0ms (0.8%)

Pruning

24 alts after pruning (12 fresh and 12 done)

PrunedKeptTotal
New1876193
Fresh268
Picked055
Done077
Total18924213
Accuracy
100.0%
Counts
213 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.5%
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
30.9%
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
50.0%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
74.8%
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
98.8%
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
27.4%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
75.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
10.9%
(*.f64 (*.f64 1/2 im) re)
5.1%
(*.f64 (sin.f64 re) (*.f64 1/2 im))
49.6%
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
32.8%
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
63.2%
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
50.0%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
7.6%
(*.f64 1/2 (pow.f64 re -2))
4.3%
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
2.6%
(*.f64 1/2 (/.f64 re -2))
30.5%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
2.6%
(*.f64 1/2 (neg.f64 re))
3.8%
(*.f64 1/2 (cbrt.f64 re))
6.6%
(*.f64 1/2 re)
48.7%
(sin.f64 re)
26.2%
re
2.9%
0
Compiler

Compiled 512 to 362 computations (29.3% saved)

regimes111.0ms (1.9%)

Counts
33 → 1
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(sin.f64 re)
(*.f64 1/2 (cbrt.f64 re))
(*.f64 (sin.f64 re) 2)
(*.f64 1/2 (pow.f64 re -2))
(*.f64 (sin.f64 re) (*.f64 1/2 im))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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:

39.0ms
re
17.0ms
(*.f64 1/2 (sin.f64 re))
17.0ms
(sin.f64 re)
16.0ms
im
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 313 to 207 computations (33.9% saved)

regimes172.0ms (3%)

Counts
32 → 1
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(sin.f64 re)
(*.f64 1/2 (cbrt.f64 re))
(*.f64 (sin.f64 re) 2)
(*.f64 1/2 (pow.f64 re -2))
(*.f64 (sin.f64 re) (*.f64 1/2 im))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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:

57.0ms
re
54.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
16.0ms
(sin.f64 re)
16.0ms
im
15.0ms
(*.f64 1/2 (sin.f64 re))
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 302 to 202 computations (33.1% saved)

regimes75.0ms (1.3%)

Counts
30 → 1
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(sin.f64 re)
(*.f64 1/2 (cbrt.f64 re))
(*.f64 (sin.f64 re) 2)
(*.f64 1/2 (pow.f64 re -2))
(*.f64 (sin.f64 re) (*.f64 1/2 im))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 im)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 1/2 im)))) (*.f64 re (+.f64 1 (*.f64 1/2 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.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:

23.0ms
(sin.f64 re)
16.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
98.8%1re
98.8%1im
98.8%1(*.f64 1/2 (sin.f64 re))
98.8%1(sin.f64 re)
Compiler

Compiled 256 to 173 computations (32.4% saved)

regimes157.0ms (2.7%)

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

4 calls:

41.0ms
(*.f64 1/2 (sin.f64 re))
35.0ms
(sin.f64 re)
34.0ms
im
33.0ms
re
Results
AccuracySegmentsBranch
86.9%3re
92.5%3im
86.9%3(*.f64 1/2 (sin.f64 re))
86.9%3(sin.f64 re)
Compiler

Compiled 216 to 150 computations (30.6% saved)

regimes40.0ms (0.7%)

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

1 calls:

34.0ms
im
Results
AccuracySegmentsBranch
92.2%3im
Compiler

Compiled 194 to 135 computations (30.4% saved)

regimes25.0ms (0.4%)

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

1 calls:

20.0ms
im
Results
AccuracySegmentsBranch
86.0%2im
Compiler

Compiled 128 to 86 computations (32.8% saved)

regimes76.0ms (1.3%)

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

3 calls:

31.0ms
re
24.0ms
(sin.f64 re)
17.0ms
im
Results
AccuracySegmentsBranch
63.3%3re
63.0%3(sin.f64 re)
72.4%2im
Compiler

Compiled 99 to 66 computations (33.3% saved)

regimes19.0ms (0.3%)

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

1 calls:

16.0ms
im
Results
AccuracySegmentsBranch
72.4%2im
Compiler

Compiled 84 to 56 computations (33.3% saved)

regimes19.0ms (0.3%)

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

1 calls:

16.0ms
im
Results
AccuracySegmentsBranch
72.4%2im
Compiler

Compiled 77 to 51 computations (33.8% saved)

regimes16.0ms (0.3%)

Counts
10 → 1
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
(*.f64 (*.f64 1/2 im) re)
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(*.f64 1/2 (/.f64 re (+.f64 re (-.f64 re re))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
Outputs
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
Calls

2 calls:

7.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
49.6%1re
49.6%1im
Compiler

Compiled 59 to 40 computations (32.2% saved)

regimes15.0ms (0.3%)

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

2 calls:

7.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
32.8%1im
32.8%1re
Compiler

Compiled 48 to 32 computations (33.3% saved)

regimes28.0ms (0.5%)

Counts
7 → 2
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
(*.f64 (*.f64 1/2 im) re)
Outputs
re
(*.f64 (*.f64 1/2 im) re)
Calls

2 calls:

16.0ms
re
11.0ms
im
Results
AccuracySegmentsBranch
33.2%3re
33.2%2im
Compiler

Compiled 32 to 22 computations (31.3% saved)

regimes13.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
0
re
(*.f64 1/2 re)
(*.f64 1/2 (neg.f64 re))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 re -2))
Outputs
re
Calls

2 calls:

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

Compiled 27 to 19 computations (29.6% saved)

regimes7.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
0
Outputs
0
Calls

2 calls:

4.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
2.9%1re
2.9%1im
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch51.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
1.1471479815434107e+150
6.2050103447253835e+156
25.0ms
0.41820590819822484
39352701.8417993
Results
21.0ms160×body256infinite
19.0ms128×body256valid
Compiler

Compiled 460 to 366 computations (20.4% saved)

bsearch136.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
47.0ms
1.1471479815434107e+150
6.2050103447253835e+156
89.0ms
0.41820590819822484
39352701.8417993
Results
85.0ms128×body256valid
47.0ms160×body256infinite
Compiler

Compiled 397 to 321 computations (19.1% saved)

bsearch23.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
0.41820590819822484
39352701.8417993
Results
18.0ms128×body256valid
2.0ms16×body256infinite
Compiler

Compiled 163 to 132 computations (19% saved)

bsearch25.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
25.0ms
0.41820590819822484
39352701.8417993
Results
20.0ms128×body256valid
2.0ms16×body256infinite
Compiler

Compiled 163 to 123 computations (24.5% saved)

bsearch26.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
26.0ms
0.41820590819822484
39352701.8417993
Results
19.0ms108×body256valid
6.0ms36×body256infinite
Compiler

Compiled 154 to 123 computations (20.1% saved)

bsearch23.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
22.0ms
0.41820590819822484
39352701.8417993
Results
20.0ms144×body256infinite
Compiler

Compiled 190 to 150 computations (21.1% saved)

bsearch16.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
1.1741849996868264e-6
1.0454757973561295e-5
Results
15.0ms96×body256valid
Compiler

Compiled 91 to 69 computations (24.2% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
40×*-commutative
16×+-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076664
1107664
2109664
3110664
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 6980579422424269/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))))
(if (<=.f64 im 3039929748475085/1125899906842624) (sin.f64 re) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))))
(if (<=.f64 im 4) (sin.f64 re) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(if (<=.f64 im 400) (sin.f64 re) (*.f64 re (*.f64 (fma.f64 im im 2) 1/2)))
(if (<=.f64 im 660) (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) re))
(if (<=.f64 im 2300000) (sin.f64 re) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(if (<=.f64 im 3010508632829399/295147905179352825856) re (*.f64 (*.f64 1/2 im) re))
re
0
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 6980579422424269/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))))
(if (<=.f64 im 6980579422424269/1125899906842624) (*.f64 (*.f64 (sin.f64 re) 1/2) (fma.f64 im im 2)) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))))))
(if (<=.f64 im 3039929748475085/1125899906842624) (sin.f64 re) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))) (sin.f64 re))))
(if (<=.f64 im 3039929748475085/1125899906842624) (sin.f64 re) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))))))
(if (<=.f64 im 4) (sin.f64 re) (*.f64 re (+.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(if (<=.f64 im 400) (sin.f64 re) (*.f64 re (*.f64 (fma.f64 im im 2) 1/2)))
(if (<=.f64 im 400) (sin.f64 re) (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 660) (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) re))
(if (<=.f64 im 660) (sin.f64 re) (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 2300000) (sin.f64 re) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))))
(if (<=.f64 im 2300000) (sin.f64 re) (*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4))))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(*.f64 re (+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 im 1/4)))))
(*.f64 re (+.f64 1 (*.f64 1/2 im)))
(if (<=.f64 im 3010508632829399/295147905179352825856) re (*.f64 (*.f64 1/2 im) re))
(if (<=.f64 im 3010508632829399/295147905179352825856) re (*.f64 re (*.f64 1/2 im)))
re
0
Compiler

Compiled 214 to 157 computations (26.6% saved)

soundness1.3s (21.9%)

Rules
1732×fma-def
1732×fma-def
1666×fma-def
1666×fma-def
1420×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034224
197224
2259220
3527212
41154210
53089210
65254210
77984210
020126
1270126
24367126
01514406
14753811
215193601
366333601
03247030
18665537
232115440
377485422
01663490
14423113
213992905
365302896
03616381
19055651
231985369
034224
197224
2259220
3527212
41154210
53089210
65254210
77984210
01514406
14753811
215193601
366333601
01663490
14423113
213992905
365302896
03247030
18665537
232115440
377485422
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
unsound
node limit
Compiler

Compiled 800 to 526 computations (34.3% saved)

end0.0ms (0%)

preprocess140.0ms (2.4%)

Compiler

Compiled 430 to 276 computations (35.8% saved)

Profiling

Loading profile data...