math.sin on complex, real part

Time bar (total: 7.4s)

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.9s (26.2%)

Results
466.0ms1026×body1024valid
424.0ms1049×body1024infinite
407.0ms2588×body256infinite
379.0ms2606×body256valid
124.0ms488×body512valid
114.0ms494×body512infinite
3.0msbody2048valid
1.0msbody2048infinite
Bogosity

preprocess202.0ms (2.7%)

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

Compiled 26 to 20 computations (23.1% saved)

localize80.0ms (1.1%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
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)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite69.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
200×associate-*r*
128×associate-*l*
92×add-exp-log
92×add-log-exp
92×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01677
120277
2326577
Stop Event
unsound
Counts
3 → 46
Calls
Call 1
Inputs
(*.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))
(sin.f64 re)
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1)
(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 1 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (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)) 1))
(log1p.f64 (expm1.f64 (sin.f64 re)))

simplify26.0ms (0.4%)

Algorithm
egg-herbie
Rules
214×fma-def
176×associate-*r*
138×associate-*l*
112×*-commutative
104×+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01572208
14072208
218462208
Stop Event
unsound
Counts
86 → 80
Calls
Call 1
Inputs
(*.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)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1)
(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 1 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (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)) 1))
(log1p.f64 (expm1.f64 (sin.f64 re)))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 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))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 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)))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 5)) (*.f64 (*.f64 1/2 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))))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 5)) (*.f64 (*.f64 1/2 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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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/2 (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) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (*.f64 1/2 (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) (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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
(sin.f64 re)
(+.f64 2 (pow.f64 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 (+.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 (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)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 (pow.f64 re 5) 1/120)))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (fma.f64 -1/5040 (pow.f64 re 7) (*.f64 (pow.f64 re 5) 1/120))))
(+.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sin.f64 re)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fabs.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(log.f64 (pow.f64 1 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(sin.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(sin.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
-2
(sin.f64 re)
0
(sin.f64 re)
1/4
(sin.f64 re)
1/2
(sin.f64 re)
3/2
2
(sin.f64 re)
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 -2 (*.f64 2 (cos.f64 (*.f64 re -2))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 2 re))) -2)
(pow.f64 (sin.f64 re) -2)
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (sin.f64 re) 1/3)
(sin.f64 re)
(sqrt.f64 (sin.f64 re))
(sin.f64 re)
(fabs.f64 (sin.f64 re))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 re))))
(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)) 1))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)

eval21.0ms (0.3%)

Compiler

Compiled 1122 to 579 computations (48.4% saved)

prune32.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New74680
Fresh000
Picked011
Done000
Total74781
Accuracy
100.0%
Counts
81 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
71.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
9.9%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
71.2%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
45.3%
(sin.f64 re)
8.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
71.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
9.9%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
71.2%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
45.3%
(sin.f64 re)
Compiler

Compiled 250 to 188 computations (24.8% saved)

localize206.0ms (2.8%)

Localize:

Found 10 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
100.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(sin.f64 re)
99.7%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
100.0%
(sin.f64 re)
100.0%
(sin.f64 re)
100.0%
(*.f64 1/2 (pow.f64 im 2))
100.0%
(sin.f64 re)
100.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
94.2%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
Compiler

Compiled 90 to 41 computations (54.4% saved)

series11.0ms (0.2%)

Counts
5 → 84
Calls

24 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
1.0ms
re
@0
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
1.0ms
re
@inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
1.0ms
re
@-inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))

rewrite32.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
356×associate-*r*
220×associate-*l*
159×log1p-expm1-u
159×expm1-log1p-u
156×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024156
1348156
25904156
Stop Event
unsound
Counts
5 → 74
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(/.f64 re -4)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -4)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(log1p.f64 (expm1.f64 re))
(fma.f64 -4 re re)
(fma.f64 re -4 re)

simplify91.0ms (1.2%)

Algorithm
egg-herbie
Rules
1306×fma-def
1036×distribute-lft-out
798×+-commutative
656×associate-*r*
600×unswap-sqr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01404320
13334304
28534304
338854304
Stop Event
node limit
Counts
158 → 67
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) (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 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2)))) (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040)))))
(+.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 (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 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (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 (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 1/4 (pow.f64 re 2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2)))))
(+.f64 1/12 (+.f64 (*.f64 1/378 (pow.f64 re 4)) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(/.f64 re -4)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -4)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(log1p.f64 (expm1.f64 re))
(fma.f64 -4 re re)
(fma.f64 re -4 re)
Outputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/240)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))))))
(fma.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (pow.f64 im 2) -1/6) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240)))))
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6) (*.f64 (pow.f64 re 5) (fma.f64 (pow.f64 im 2) 1/240 1/120))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2)))) (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040)))))
(fma.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (pow.f64 im 2) -1/6) (fma.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240)) (*.f64 (pow.f64 re 7) (fma.f64 -1/10080 (pow.f64 im 2) -1/5040)))))
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 (pow.f64 im 2) 1/240 1/120) (*.f64 (pow.f64 re 7) (fma.f64 (pow.f64 im 2) -1/10080 -1/5040)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (pow.f64 im 2)) (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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (pow.f64 im 2)) (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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(/.f64 1/4 (pow.f64 re 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 1/12 (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 1/12 (+.f64 (*.f64 1/378 (pow.f64 re 4)) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))))
(+.f64 1/12 (fma.f64 1/378 (pow.f64 re 4) (fma.f64 1/60 (pow.f64 re 2) (/.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/12 (fma.f64 1/378 (pow.f64 re 4) (fma.f64 (pow.f64 re 2) 1/60 (/.f64 1/4 (pow.f64 re 2)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
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 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
0
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/16
1/8
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
0
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/16
1/8
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
0
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/16
1/8
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
-1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
0
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/16
1/8
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
1
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3/2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
3
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
4
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(+.f64 (exp.f64 (log1p.f64 re)) 4)
(+.f64 4 (exp.f64 (log1p.f64 re)))
(/.f64 re -4)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(/.f64 (-.f64 re re) (-.f64 re re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(pow.f64 re -4)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(pow.f64 re 1/3)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(sqrt.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(fabs.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(log.f64 (exp.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(expm1.f64 (log1p.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(exp.f64 (log.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(exp.f64 (*.f64 (log.f64 re) -4))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(log1p.f64 (expm1.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(fma.f64 -4 re re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(fma.f64 re -4 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))

eval278.0ms (3.8%)

Compiler

Compiled 8280 to 4953 computations (40.2% saved)

prune76.0ms (1%)

Pruning

19 alts after pruning (15 fresh and 4 done)

PrunedKeptTotal
New71414728
Fresh011
Picked235
Done011
Total71619735
Accuracy
100.0%
Counts
735 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.6%
(fma.f64 re -4 re)
10.6%
(pow.f64 re -4)
4.8%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -4)
71.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
3.9%
(+.f64 (sin.f64 re) -4)
31.7%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
44.9%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
5.9%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
71.2%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (*.f64 1/2 re) 1/4)
2.6%
(*.f64 (*.f64 1/2 re) -2)
45.3%
(sin.f64 re)
32.1%
(log1p.f64 (expm1.f64 re))
9.9%
(exp.f64 (*.f64 (log.f64 re) -4))
3.8%
(cbrt.f64 re)
22.1%
re
2.6%
(fma.f64 re -4 re)
10.6%
(pow.f64 re -4)
4.8%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -4)
71.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
3.9%
(+.f64 (sin.f64 re) -4)
31.7%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
44.9%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
5.9%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
71.2%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (*.f64 1/2 re) 1/4)
2.6%
(*.f64 (*.f64 1/2 re) -2)
45.3%
(sin.f64 re)
32.1%
(log1p.f64 (expm1.f64 re))
9.9%
(exp.f64 (*.f64 (log.f64 re) -4))
3.8%
(cbrt.f64 re)
22.1%
re
Compiler

Compiled 482 to 366 computations (24.1% saved)

localize205.0ms (2.8%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
99.5%
(*.f64 (pow.f64 re 3) -1/6)
100.0%
(sin.f64 re)
94.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
Compiler

Compiled 69 to 46 computations (33.3% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite78.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1046×log-prod
940×log1p-expm1-u
940×expm1-log1p-u
664×prod-diff
406×fma-def
Iterations

Useful iterations: 1 (0.0ms)

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

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
1746×fma-def
1040×log-prod
702×distribute-lft-in
676×distribute-rgt-in
532×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02524573
16534419
220063986
370513982
Stop Event
node limit
Counts
127 → 141
Calls
Call 1
Inputs
(*.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 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (sin.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 im 6) 8)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (sin.f64 re))) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 2))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2) (sin.f64 re))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 im 2)) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 im 2)) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) im) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) im) (sin.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) 1/2 (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (sin.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3) 1/3)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) re)
(+.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 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2)))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(+.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 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 1/2 re (*.f64 1/240 (pow.f64 re 5))) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) (sin.f64 re)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 1/2 (pow.f64 im 2))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re))))) (+.f64 (sin.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (pow.f64 im 4))) (+.f64 (sin.f64 re) (*.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) -1/2)))
(/.f64 (fma.f64 -1/4 (*.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 im 4)) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 im 6) 8)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4) (+.f64 (pow.f64 im 6) 8)))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 2 (pow.f64 im 2))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (pow.f64 im 2))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (sin.f64 re))) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4) (+.f64 (pow.f64 im 6) 8)))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 2 (pow.f64 im 2))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (pow.f64 im 2))) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (exp.f64 (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sin.f64 re) 1 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 im) 2)) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 im) 2))) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) im) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) im) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) 1/2 (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 im) 2)) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 im) 2))) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2))))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) (sin.f64 re) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 (pow.f64 re 3) -1/6)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3) 1/3)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(*.f64 (pow.f64 re 3) -1/6)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(*.f64 (pow.f64 re 3) -1/6)
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3))
(*.f64 (pow.f64 re 3) -1/6)
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))
(*.f64 (pow.f64 re 3) -1/6)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 re 3) -1/6)

eval98.0ms (1.3%)

Compiler

Compiled 2774 to 1900 computations (31.5% saved)

prune56.0ms (0.8%)

Pruning

24 alts after pruning (17 fresh and 7 done)

PrunedKeptTotal
New1617168
Fresh01010
Picked145
Done134
Total16324187
Accuracy
100.0%
Counts
187 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.7%
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re))
2.6%
(fma.f64 re -4 re)
10.6%
(pow.f64 re -4)
59.1%
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
4.8%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -4)
3.9%
(+.f64 (sin.f64 re) -4)
31.7%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
44.9%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
36.1%
(+.f64 re (log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
5.9%
(+.f64 re re)
49.8%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
71.2%
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (*.f64 1/2 re) 1/4)
2.6%
(*.f64 (*.f64 1/2 re) -2)
44.9%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
45.3%
(sin.f64 re)
32.1%
(log1p.f64 (expm1.f64 re))
9.9%
(exp.f64 (*.f64 (log.f64 re) -4))
3.8%
(cbrt.f64 re)
22.1%
re
65.7%
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re))
2.6%
(fma.f64 re -4 re)
10.6%
(pow.f64 re -4)
59.1%
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
4.8%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -4)
3.9%
(+.f64 (sin.f64 re) -4)
31.7%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
44.9%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
36.1%
(+.f64 re (log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
5.9%
(+.f64 re re)
49.8%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
71.2%
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (*.f64 1/2 re) 1/4)
2.6%
(*.f64 (*.f64 1/2 re) -2)
44.9%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
45.3%
(sin.f64 re)
32.1%
(log1p.f64 (expm1.f64 re))
9.9%
(exp.f64 (*.f64 (log.f64 re) -4))
3.8%
(cbrt.f64 re)
22.1%
re
Compiler

Compiled 708 to 532 computations (24.9% saved)

localize677.0ms (9.2%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
100.0%
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
99.9%
(*.f64 (pow.f64 re 3) -1/6)
99.6%
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
94.4%
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
Compiler

Compiled 78 to 49 computations (37.2% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite73.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
944×log-prod
783×log1p-expm1-u
782×expm1-log1p-u
626×pow-prod-down
482×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
119670
2217270
Stop Event
node limit
Counts
3 → 94
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
Outputs
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))) (log.f64 (-.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(*.f64 re (*.f64 (pow.f64 re 2) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 3) (log.f64 (exp.f64 -1/6)))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 (*.f64 (pow.f64 re 3) -1/6) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 re 2) (*.f64 re -1/6))
(*.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2))
(*.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)))
(*.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)))
(*.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6))
(*.f64 (*.f64 -1/6 re) (pow.f64 re 2))
(*.f64 (*.f64 -1/6 (pow.f64 re 2)) re)
(*.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2))
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(pow.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9) 1/3)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(cbrt.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(+.f64 0 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1)
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) (log.f64 (exp.f64 1)))
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) (log.f64 (exp.f64 1)))
(*.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2) (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2) 1) (+.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) (+.f64 1 (*.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) 1) (+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))
(pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 3)
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) 1/2)
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3)
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2)
(sqrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))
(log.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3))
(exp.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 2))
(log1p.f64 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(fma.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)
(fma.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)

simplify125.0ms (1.7%)

Algorithm
egg-herbie
Rules
1498×fma-neg
810×distribute-lft-in
778×distribute-rgt-in
682×unswap-sqr
628×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02774370
16503912
221013790
377523790
Stop Event
node limit
Counts
142 → 145
Calls
Call 1
Inputs
(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 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))))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/72 (pow.f64 re 6)))
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/1296 (pow.f64 re 9)) (*.f64 1/72 (pow.f64 re 6))))
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/1296 (pow.f64 re 9)) (+.f64 (*.f64 1/31104 (pow.f64 re 12)) (*.f64 1/72 (pow.f64 re 6)))))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))) (log.f64 (-.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(*.f64 re (*.f64 (pow.f64 re 2) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 3) (log.f64 (exp.f64 -1/6)))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 (*.f64 (pow.f64 re 3) -1/6) (log.f64 (exp.f64 1)))
(*.f64 1 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 re 2) (*.f64 re -1/6))
(*.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2))
(*.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)))
(*.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)))
(*.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6))
(*.f64 (*.f64 -1/6 re) (pow.f64 re 2))
(*.f64 (*.f64 -1/6 (pow.f64 re 2)) re)
(*.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2))
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(pow.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9) 1/3)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(cbrt.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(+.f64 0 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1)
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) (log.f64 (exp.f64 1)))
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) (log.f64 (exp.f64 1)))
(*.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2) (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2) 1) (+.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) (+.f64 1 (*.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) 1) (+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))
(pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 3)
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) 1/2)
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3)
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2)
(sqrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))
(log.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3))
(exp.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 2))
(log1p.f64 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(fma.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)
(fma.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)
Outputs
(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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.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 (pow.f64 im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.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 (pow.f64 im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (sin.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 (*.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 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (fma.f64 im im 2) (*.f64 re (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 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))))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2)))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 2)))) (*.f64 1/240 (pow.f64 re 5))))
(+.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 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7))) (*.f64 re (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/72 (pow.f64 re 6)))
(fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/72 (pow.f64 re 6)))
(fma.f64 1/72 (pow.f64 re 6) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (pow.f64 re 3) -1/6 (*.f64 1/72 (pow.f64 re 6)))
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/1296 (pow.f64 re 9)) (*.f64 1/72 (pow.f64 re 6))))
(fma.f64 -1/6 (pow.f64 re 3) (fma.f64 -1/1296 (pow.f64 re 9) (*.f64 1/72 (pow.f64 re 6))))
(fma.f64 (pow.f64 re 3) -1/6 (fma.f64 1/72 (pow.f64 re 6) (*.f64 -1/1296 (pow.f64 re 9))))
(+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/1296 (pow.f64 re 9)) (+.f64 (*.f64 1/31104 (pow.f64 re 12)) (*.f64 1/72 (pow.f64 re 6)))))
(fma.f64 -1/6 (pow.f64 re 3) (fma.f64 -1/1296 (pow.f64 re 9) (fma.f64 1/31104 (pow.f64 re 12) (*.f64 1/72 (pow.f64 re 6)))))
(fma.f64 (pow.f64 re 3) -1/6 (fma.f64 -1/1296 (pow.f64 re 9) (fma.f64 1/72 (pow.f64 re 6) (*.f64 1/31104 (pow.f64 re 12)))))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (exp.f64 (*.f64 -1/6 (pow.f64 re 3))) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 3)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2) 1/2)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3) 1/3)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 2)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)) 3))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))) 1) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 3))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 1/3))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 (pow.f64 re 3) -1/6)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(*.f64 (pow.f64 re 3) -1/6)
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log1p.f64 (*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) (-.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3)) (log1p.f64 (*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) -2))))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))) (log.f64 (-.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(*.f64 re (*.f64 (pow.f64 re 2) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 3) (log.f64 (exp.f64 -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 (pow.f64 re 3) -1/6) (log.f64 (exp.f64 1)))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 1 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 2) (*.f64 re -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 -1/6 re) (pow.f64 re 2))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 -1/6 (pow.f64 re 2)) re)
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2))
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(pow.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9) 1/3)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(*.f64 (pow.f64 re 3) -1/6)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(*.f64 (pow.f64 re 3) -1/6)
(cbrt.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9))
(*.f64 (pow.f64 re 3) -1/6)
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 9)) 1/3))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 0 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))))
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) (log.f64 (exp.f64 1)))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) (log.f64 (exp.f64 1)))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2) (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(/.f64 (-.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2) 1) (+.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) (+.f64 1 (*.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2) -1) (+.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) (+.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2)) (+.f64 1 (+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2))))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/2)) (+.f64 1 (+.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) (pow.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) 2))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) 1) (+.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 1))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2) -1) (+.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))
(/.f64 (+.f64 -1 (pow.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) 2)) (+.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))
(/.f64 (+.f64 -1 (pow.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) 2)) (+.f64 1 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))
(pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 3)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2) 1/2)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(pow.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 2)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(sqrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 2))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(log.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)) 3))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))) 1) 1))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 3))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 1/3))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))) 2))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(log1p.f64 (expm1.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 1 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6) -1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) -1)
(expm1.f64 (*.f64 (pow.f64 re 3) -1/6))

eval83.0ms (1.1%)

Compiler

Compiled 2536 to 1969 computations (22.4% saved)

prune50.0ms (0.7%)

Pruning

26 alts after pruning (14 fresh and 12 done)

PrunedKeptTotal
New1623165
Fresh11112
Picked055
Done077
Total16326189
Accuracy
100.0%
Counts
189 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.7%
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re))
2.6%
(fma.f64 re -4 re)
10.6%
(pow.f64 re -4)
59.1%
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
4.8%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -4)
3.9%
(+.f64 (sin.f64 re) -4)
31.7%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
31.7%
(+.f64 re (*.f64 (pow.f64 re 2) (*.f64 re -1/6)))
31.7%
(+.f64 re (*.f64 (*.f64 -1/6 (pow.f64 re 2)) re))
44.9%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
36.1%
(+.f64 re (log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
5.9%
(+.f64 re re)
49.8%
(*.f64 (fma.f64 im im 2) (*.f64 re (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 2)))))
71.2%
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (*.f64 1/2 re) 1/4)
2.6%
(*.f64 (*.f64 1/2 re) -2)
44.9%
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
45.3%
(sin.f64 re)
32.1%
(log1p.f64 (expm1.f64 re))
9.9%
(exp.f64 (*.f64 (log.f64 re) -4))
3.8%
(cbrt.f64 re)
22.1%
re
Compiler

Compiled 464 to 317 computations (31.7% saved)

regimes141.0ms (1.9%)

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

6 calls:

52.0ms
im
19.0ms
re
19.0ms
(sin.f64 re)
18.0ms
(*.f64 1/2 (sin.f64 re))
16.0ms
(+.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 275 to 176 computations (36% saved)

regimes340.0ms (4.6%)

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

4 calls:

139.0ms
(sin.f64 re)
80.0ms
(*.f64 1/2 (sin.f64 re))
73.0ms
re
41.0ms
im
Results
AccuracySegmentsBranch
85.4%3re
90.7%3im
87.4%5(*.f64 1/2 (sin.f64 re))
87.4%5(sin.f64 re)
Compiler

Compiled 202 to 130 computations (35.6% saved)

regimes51.0ms (0.7%)

Counts
27 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) -2)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -4)
(+.f64 (sin.f64 re) -4)
(fma.f64 re -4 re)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 (*.f64 -1/6 (pow.f64 re 2)) re))
(+.f64 re (*.f64 (pow.f64 re 2) (*.f64 re -1/6)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 re (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 re (log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6))))
Outputs
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
Calls

1 calls:

42.0ms
im
Results
AccuracySegmentsBranch
90.7%3im
Compiler

Compiled 179 to 116 computations (35.2% saved)

regimes91.0ms (1.2%)

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

4 calls:

48.0ms
im
13.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
re
12.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
71.2%1(*.f64 1/2 (sin.f64 re))
71.2%1(sin.f64 re)
71.2%1re
79.0%4im
Compiler

Compiled 135 to 85 computations (37% saved)

regimes50.0ms (0.7%)

Counts
21 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) -2)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -4)
(+.f64 (sin.f64 re) -4)
(fma.f64 re -4 re)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 (*.f64 -1/6 (pow.f64 re 2)) re))
(+.f64 re (*.f64 (pow.f64 re 2) (*.f64 re -1/6)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
Outputs
(sin.f64 re)
(pow.f64 re -4)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
Calls

1 calls:

45.0ms
im
Results
AccuracySegmentsBranch
78.3%4im
Compiler

Compiled 113 to 70 computations (38.1% saved)

regimes208.0ms (2.8%)

Counts
20 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) -2)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -4)
(+.f64 (sin.f64 re) -4)
(fma.f64 re -4 re)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 (*.f64 -1/6 (pow.f64 re 2)) re))
(+.f64 re (*.f64 (pow.f64 re 2) (*.f64 re -1/6)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(sin.f64 re)
(pow.f64 re -4)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 re (*.f64 (fma.f64 im im 2) 1/2))
Calls

3 calls:

122.0ms
re
41.0ms
(sin.f64 re)
39.0ms
im
Results
AccuracySegmentsBranch
59.8%3(sin.f64 re)
62.4%5re
72.5%4im
Compiler

Compiled 112 to 70 computations (37.5% saved)

regimes108.0ms (1.5%)

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

3 calls:

42.0ms
(sin.f64 re)
34.0ms
re
29.0ms
im
Results
AccuracySegmentsBranch
51.8%5re
48.8%3(sin.f64 re)
56.5%3im
Compiler

Compiled 58 to 36 computations (37.9% saved)

regimes25.0ms (0.3%)

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

1 calls:

23.0ms
im
Results
AccuracySegmentsBranch
53.2%2im
Compiler

Compiled 44 to 26 computations (40.9% saved)

regimes19.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) -2)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(sin.f64 re)
Outputs
(sin.f64 re)
Calls

3 calls:

6.0ms
(sin.f64 re)
5.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
45.3%1re
45.3%1(sin.f64 re)
45.3%1im
Compiler

Compiled 40 to 25 computations (37.5% saved)

regimes14.0ms (0.2%)

Accuracy

Total -13.4b remaining (-27%)

Threshold costs -13.4b (-27%)

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

2 calls:

8.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
22.1%1im
22.1%1re
Compiler

Compiled 34 to 21 computations (38.2% saved)

bsearch69.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
5.9557240869450936e+147
1.9744106901528174e+149
42.0ms
2.5427328725059573
8831309.485170476
Results
17.0ms78×body256valid
14.0ms35×body1024valid
11.0ms32×body1024infinite
11.0ms75×body256infinite
5.0ms21×body512infinite
4.0ms15×body512valid
Compiler

Compiled 421 to 310 computations (26.4% saved)

bsearch127.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
84.0ms
5.9557240869450936e+147
1.9744106901528174e+149
43.0ms
2.5427328725059573
8831309.485170476
Results
71.0ms79×body256infinite
16.0ms39×body1024valid
12.0ms37×body1024infinite
11.0ms74×body256valid
4.0ms15×body512valid
3.0ms12×body512infinite
Compiler

Compiled 412 to 319 computations (22.6% saved)

bsearch123.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
3.268096785052371e+152
4.0587017941933194e+154
30.0ms
3.377770958650723e+58
1.3046989697495847e+61
64.0ms
5525064313.502912
30207196288607420.0
Results
39.0ms112×body1024infinite
38.0ms238×body256infinite
8.0ms34×body512infinite
Compiler

Compiled 456 to 364 computations (20.2% saved)

bsearch107.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
32.0ms
3.268096785052371e+152
4.0587017941933194e+154
30.0ms
3.377770958650723e+58
1.3046989697495847e+61
45.0ms
5525064313.502912
30207196288607420.0
Results
47.0ms235×body256infinite
40.0ms114×body1024infinite
14.0ms35×body512infinite
Compiler

Compiled 393 to 319 computations (18.8% saved)

bsearch170.0ms (2.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
30.0ms
8.037335632203665e+117
4.333949725473042e+119
102.0ms
3.377770958650723e+58
1.3046989697495847e+61
38.0ms
5525064313.502912
30207196288607420.0
Results
86.0ms39×body512infinite
43.0ms237×body256infinite
35.0ms108×body1024infinite
Compiler

Compiled 393 to 312 computations (20.6% saved)

bsearch158.0ms (2.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
102.0ms
3.377770958650723e+58
1.3046989697495847e+61
55.0ms
5525064313.502912
30207196288607420.0
Results
122.0ms166×body256infinite
26.0ms78×body1024infinite
7.0ms28×body512infinite
Compiler

Compiled 246 to 200 computations (18.7% saved)

bsearch39.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
39.0ms
5525064313.502912
30207196288607420.0
Results
22.0ms92×body256infinite
12.0ms37×body1024infinite
3.0ms15×body512infinite
Compiler

Compiled 118 to 96 computations (18.6% saved)

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
22×*-commutative
+-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079765
195765
297765
398765
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5854679515581645/2251799813685248) (fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re)) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 5854679515581645/2251799813685248) (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 5600000000) (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) (if (<=.f64 im 12500000000000000437774960742895146630760039724788978200608768) (pow.f64 re -4) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 620000000000000) (sin.f64 re) (if (<=.f64 im 198000000000000000861416445703599828728232229233055609389056) (pow.f64 re -4) (if (<=.f64 im 12999999999999999438322098794574906741241322790552194538119357436456535537607035931016983603249767945252974976541954879599487129611252739907155155400785920) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 5600000000) (sin.f64 re) (if (<=.f64 im 1750000000000000089833448358124518149472124950460359675740160) (pow.f64 re -4) (if (<=.f64 im 64000000000000003235547374463682164110607169971392209857310814382222896894533465972750936134723982032154695247148875776) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 re (*.f64 (fma.f64 im im 2) 1/2)))))
(if (<=.f64 im 6400000000) (sin.f64 re) (if (<=.f64 im 1499999999999999924080702945611028300445467516520115109625856) (pow.f64 re -4) (+.f64 re (*.f64 (pow.f64 re 3) -1/6))))
(if (<=.f64 im 21000000000000) (sin.f64 re) (pow.f64 re -4))
(sin.f64 re)
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5854679515581645/2251799813685248) (fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re)) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 5854679515581645/2251799813685248) (fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) im) im (sin.f64 re)) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 5854679515581645/2251799813685248) (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 194999999999999995354392848255779431975103642875906496710725437120901946527854574704579052238415720474988088359699864109957419296752916352987255799808) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 5600000000) (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) (if (<=.f64 im 12500000000000000437774960742895146630760039724788978200608768) (pow.f64 re -4) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 5600000000) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 12500000000000000437774960742895146630760039724788978200608768) (pow.f64 re -4) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2)))))
(if (<=.f64 im 620000000000000) (sin.f64 re) (if (<=.f64 im 198000000000000000861416445703599828728232229233055609389056) (pow.f64 re -4) (if (<=.f64 im 12999999999999999438322098794574906741241322790552194538119357436456535537607035931016983603249767945252974976541954879599487129611252739907155155400785920) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 620000000000000) (sin.f64 re) (if (<=.f64 im 198000000000000000861416445703599828728232229233055609389056) (pow.f64 re -4) (if (<=.f64 im 12999999999999999438322098794574906741241322790552194538119357436456535537607035931016983603249767945252974976541954879599487129611252739907155155400785920) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 2)))))
(if (<=.f64 im 5600000000) (sin.f64 re) (if (<=.f64 im 1750000000000000089833448358124518149472124950460359675740160) (pow.f64 re -4) (if (<=.f64 im 64000000000000003235547374463682164110607169971392209857310814382222896894533465972750936134723982032154695247148875776) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 re (*.f64 (fma.f64 im im 2) 1/2)))))
(if (<=.f64 im 5600000000) (sin.f64 re) (if (<=.f64 im 1750000000000000089833448358124518149472124950460359675740160) (pow.f64 re -4) (if (<=.f64 im 64000000000000003235547374463682164110607169971392209857310814382222896894533465972750936134723982032154695247148875776) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))))
(if (<=.f64 im 6400000000) (sin.f64 re) (if (<=.f64 im 1499999999999999924080702945611028300445467516520115109625856) (pow.f64 re -4) (+.f64 re (*.f64 (pow.f64 re 3) -1/6))))
(if (<=.f64 im 21000000000000) (sin.f64 re) (pow.f64 re -4))
(sin.f64 re)
re
Compiler

Compiled 237 to 167 computations (29.5% saved)

soundness733.0ms (10%)

Rules
1746×fma-def
1746×fma-def
1746×fma-def
1388×fma-def
1228×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
034224
197224
2259220
3527212
41154210
53089210
65254210
77984210
024156
1348156
25904156
01572208
14072208
218462208
02524573
16534419
220063986
370513982
02524573
16534419
220063986
370513982
02524573
16534419
220063986
370513982
01951
121750
2270450
Stop Event
node limit
node limit
node limit
node limit
unsound
unsound
node limit
Compiler

Compiled 509 to 320 computations (37.1% saved)

end0.0ms (0%)

preprocess152.0ms (2.1%)

Remove

(abs im)

Compiler

Compiled 492 to 308 computations (37.4% saved)

Profiling

Loading profile data...