math.cos on complex, real part

Time bar (total: 4.9s)

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 14 to 11 computations (21.4% saved)

sample1.6s (32.5%)

Results
921.0ms4126×body256valid
672.0ms4130×body256infinite
Bogosity

preprocess150.0ms (3%)

Algorithm
egg-herbie
Rules
1164×times-frac
854×div-sub
828×fma-def
812×fma-neg
790×distribute-neg-frac
Problems
256×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2277308
3687298
41412294
54001294
66069294
77960294
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 49 to 24 computations (51% 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 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize53.0ms (1.1%)

Localize:

Found 3 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

series6.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite140.0ms (2.8%)

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

simplify24.0ms (0.5%)

Algorithm
egg-herbie
Rules
214×fma-def
154×associate-*r*
120×associate-*l*
108×+-commutative
104×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01521637
13831637
218621637
Stop Event
unsound
Counts
86 → 77
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(cos.f64 re)
1
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
1
(+.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)))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 re -2))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
1
(*.f64 (cos.f64 re) (cos.f64 re))
1
(*.f64 (cos.f64 re) 1)
1
(*.f64 1 (cos.f64 re))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -2)
(pow.f64 (cos.f64 re) -2)
1
(pow.f64 (cos.f64 re) 1)
1
(pow.f64 (cos.f64 re) 1/3)
1
(sqrt.f64 (cos.f64 re))
1
(fabs.f64 (cos.f64 re))
1
(log.f64 (exp.f64 (cos.f64 re)))
1
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
1
(cbrt.f64 (cos.f64 re))
1
(expm1.f64 (log1p.f64 (cos.f64 re)))
1
(exp.f64 (log.f64 (cos.f64 re)))
1
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
1
(log1p.f64 (expm1.f64 (cos.f64 re)))
1
(+.f64 (cos.f64 re) (cos.f64 re))
1
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
1
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
1
(/.f64 (*.f64 (cos.f64 re) -2) -2)
1
(/.f64 (*.f64 (cos.f64 re) -2) 1)
1
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
1
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
1
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
1
(sqrt.f64 (*.f64 (cos.f64 re) -2))
1
(fabs.f64 (*.f64 (cos.f64 re) -2))
1
(log.f64 (pow.f64 1 (cos.f64 re)))
1
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
1
(cbrt.f64 (*.f64 (cos.f64 re) -2))
1
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
1
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
1
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
1
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
1
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
1
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
1
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
1
-2
1
0
1
1/4
1
1/2
1
3/2
2
1

eval71.0ms (1.4%)

Compiler

Compiled 1071 to 567 computations (47.1% saved)

prune26.0ms (0.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New70777
Fresh000
Picked011
Done000
Total70878
Accuracy
100.0%
Counts
78 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.7%
(+.f64 (cos.f64 re) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
75.7%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
94.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.1%
(cos.f64 re)
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.7%
(+.f64 (cos.f64 re) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
75.7%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
94.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.1%
(cos.f64 re)
Compiler

Compiled 346 to 276 computations (20.2% saved)

localize108.0ms (2.2%)

Localize:

Found 9 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
100.0%
(cos.f64 re)
99.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
100.0%
(cos.f64 re)
100.0%
(cos.f64 re)
100.0%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(cos.f64 re)
99.7%
(log1p.f64 (expm1.f64 (cos.f64 re)))
99.1%
(expm1.f64 (cos.f64 re))
Compiler

Compiled 95 to 28 computations (70.5% saved)

series8.0ms (0.2%)

Counts
5 → 68
Calls

18 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
1.0ms
re
@inf
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
0.0ms
re
@0
(expm1.f64 (cos.f64 re))
0.0ms
re
@0
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
0.0ms
re
@0
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite30.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
266×associate-*r*
170×associate-*l*
130×log1p-expm1-u
129×add-exp-log
129×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02250
130950
2474050
Stop Event
unsound
Counts
5 → 93
Calls
Call 1
Inputs
(expm1.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
(+.f64 (exp.f64 (cos.f64 re)) -4)
(-.f64 (exp.f64 (cos.f64 re)) -4)
(*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
(*.f64 (expm1.f64 (cos.f64 re)) -4)
(*.f64 -4 (expm1.f64 (cos.f64 re)))
(/.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
(/.f64 (expm1.f64 (cos.f64 re)) (+.f64 (exp.f64 (cos.f64 re)) (+.f64 -4 (*.f64 (exp.f64 (cos.f64 re)) -4))))
(pow.f64 (expm1.f64 (cos.f64 re)) -4)
(pow.f64 (expm1.f64 (cos.f64 re)) 1/3)
(sqrt.f64 (expm1.f64 (cos.f64 re)))
(fabs.f64 (expm1.f64 (cos.f64 re)))
(log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))
(log.f64 (+.f64 -4 (expm1.f64 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (cos.f64 re))) -4))
(log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

simplify73.0ms (1.5%)

Algorithm
egg-herbie
Rules
1464×fma-def
1322×distribute-lft-in
1104×distribute-rgt-in
778×distribute-lft-out
678×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01773431
14213168
211453017
345673008
Stop Event
node limit
Counts
161 → 152
Calls
Call 1
Inputs
(-.f64 (exp.f64 1) 1)
(-.f64 (+.f64 (exp.f64 1) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1)))) 1)
(-.f64 (+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))))) 1)
(-.f64 (+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1)))))) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 (cos.f64 re)) -4)
(-.f64 (exp.f64 (cos.f64 re)) -4)
(*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
(*.f64 (expm1.f64 (cos.f64 re)) -4)
(*.f64 -4 (expm1.f64 (cos.f64 re)))
(/.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
(/.f64 (expm1.f64 (cos.f64 re)) (+.f64 (exp.f64 (cos.f64 re)) (+.f64 -4 (*.f64 (exp.f64 (cos.f64 re)) -4))))
(pow.f64 (expm1.f64 (cos.f64 re)) -4)
(pow.f64 (expm1.f64 (cos.f64 re)) 1/3)
(sqrt.f64 (expm1.f64 (cos.f64 re)))
(fabs.f64 (expm1.f64 (cos.f64 re)))
(log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))
(log.f64 (+.f64 -4 (expm1.f64 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (cos.f64 re))) -4))
(log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
Outputs
(-.f64 (exp.f64 1) 1)
(expm1.f64 1)
(-.f64 (+.f64 (exp.f64 1) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1)))) 1)
(+.f64 (E.f64) (-.f64 (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2))) 1))
(+.f64 (*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64)) -1)
(fma.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64) -1)
(fma.f64 (E.f64) (fma.f64 -1/2 (pow.f64 re 2) 1) -1)
(-.f64 (+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))))) 1)
(+.f64 (+.f64 (E.f64) (fma.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)) (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))))) -1)
(+.f64 (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4)))) (expm1.f64 1))
(fma.f64 (E.f64) (fma.f64 1/6 (pow.f64 re 4) (*.f64 -1/2 (pow.f64 re 2))) (expm1.f64 1))
(-.f64 (+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1)))))) 1)
(+.f64 (E.f64) (-.f64 (fma.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)) (fma.f64 -31/720 (*.f64 (E.f64) (pow.f64 re 6)) (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))))) 1))
(+.f64 (fma.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)) (*.f64 (E.f64) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 -31/720 (pow.f64 re 6))))) (expm1.f64 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64) (fma.f64 (E.f64) (fma.f64 1/6 (pow.f64 re 4) (*.f64 -31/720 (pow.f64 re 6))) -1))
(+.f64 (*.f64 (E.f64) (+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 1/6 (pow.f64 re 4) (*.f64 -31/720 (pow.f64 re 6))))) -1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (pow.f64 re 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 1 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 (pow.f64 re 4) 1/24 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 (pow.f64 re 6) -1/720 (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/720 (pow.f64 im 6)) 1) (cos.f64 re)))
(fma.f64 (cos.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2))) (fma.f64 1/720 (pow.f64 im 6) 1)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4)))
(+.f64 (fma.f64 (pow.f64 re 2) 1/4 1/4) (*.f64 1/6 (pow.f64 re 4)))
(fma.f64 (pow.f64 re 2) 1/4 (fma.f64 1/6 (pow.f64 re 4) 1/4))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/4 (fma.f64 17/180 (pow.f64 re 6) (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4))))
(+.f64 (fma.f64 (pow.f64 re 6) 17/180 (*.f64 1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 2) 1/4 1/4))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 1/6 (pow.f64 re 4) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (cos.f64 re)) -4)
(-.f64 (exp.f64 (cos.f64 re)) -4)
(+.f64 (exp.f64 (cos.f64 re)) 4)
(+.f64 4 (exp.f64 (cos.f64 re)))
(*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
(exp.f64 (*.f64 2 (log.f64 (expm1.f64 (cos.f64 re)))))
(pow.f64 (exp.f64 2) (log.f64 (expm1.f64 (cos.f64 re))))
(*.f64 (expm1.f64 (cos.f64 re)) -4)
(*.f64 -4 (expm1.f64 (cos.f64 re)))
(*.f64 -4 (expm1.f64 (cos.f64 re)))
(/.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))
1
(/.f64 (expm1.f64 (cos.f64 re)) (+.f64 (exp.f64 (cos.f64 re)) (+.f64 -4 (*.f64 (exp.f64 (cos.f64 re)) -4))))
(/.f64 (expm1.f64 (cos.f64 re)) (fma.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -4 (exp.f64 (cos.f64 re))))
(/.f64 (expm1.f64 (cos.f64 re)) (+.f64 -4 (*.f64 -3 (exp.f64 (cos.f64 re)))))
(/.f64 (expm1.f64 (cos.f64 re)) (+.f64 -4 (*.f64 (exp.f64 (cos.f64 re)) -3)))
(pow.f64 (expm1.f64 (cos.f64 re)) -4)
(pow.f64 (expm1.f64 (cos.f64 re)) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(sqrt.f64 (expm1.f64 (cos.f64 re)))
(fabs.f64 (expm1.f64 (cos.f64 re)))
(log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(log.f64 (+.f64 -4 (expm1.f64 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (expm1.f64 (cos.f64 re))) -4))
(pow.f64 (expm1.f64 (cos.f64 re)) -4)
(log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -4)
(/.f64 (+.f64 1 (cos.f64 (*.f64 re 2))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
1
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -4)
(/.f64 (+.f64 1 (cos.f64 (*.f64 re 2))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
1
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(/.f64 -4 (cos.f64 re))
(/.f64 (cos.f64 re) -4)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -4)
(/.f64 (+.f64 1 (cos.f64 (*.f64 re 2))) -4)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
1
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 -4 (cos.f64 re) (cos.f64 re))
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
(fma.f64 (cos.f64 re) -4 (cos.f64 re))
(*.f64 -3 (cos.f64 re))
(*.f64 (cos.f64 re) -3)
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

eval180.0ms (3.7%)

Compiler

Compiled 8114 to 4401 computations (45.8% saved)

prune118.0ms (2.4%)

Pruning

18 alts after pruning (14 fresh and 4 done)

PrunedKeptTotal
New65814672
Fresh202
Picked235
Done011
Total66218680
Accuracy
100.0%
Counts
680 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
14.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
75.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.6%
(*.f64 1/2 (fma.f64 im im 2))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.7%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
7.8%
(*.f64 1/2 4)
8.6%
(*.f64 1/2 3/2)
6.9%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
3.5%
(*.f64 1/2 -4)
49.1%
(cos.f64 re)
24.6%
1
7.7%
1/4
27.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
14.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
75.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.6%
(*.f64 1/2 (fma.f64 im im 2))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.7%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
7.8%
(*.f64 1/2 4)
8.6%
(*.f64 1/2 3/2)
6.9%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
3.5%
(*.f64 1/2 -4)
49.1%
(cos.f64 re)
24.6%
1
7.7%
1/4
Compiler

Compiled 472 to 418 computations (11.4% saved)

localize120.0ms (2.4%)

Localize:

Found 2 expressions with local error:

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

Compiled 55 to 46 computations (16.4% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite62.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1070×unpow-prod-down
732×log-prod
671×log1p-expm1-u
671×expm1-log1p-u
514×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01631
116431
2190431
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
Outputs
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))

simplify60.0ms (1.2%)

Algorithm
egg-herbie
Rules
1380×associate-*r*
1218×associate-*l*
874×fma-def
778×log-prod
728×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01322426
13072354
29012246
359712246
Stop Event
node limit
Counts
65 → 70
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 -1/720 (pow.f64 re 6))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 im 6) 1/8 1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 (pow.f64 im 4) 1/4 1))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 (pow.f64 im 4) 1/4 -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 im 6) 1/8 1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) 1/8 1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 (pow.f64 im 4) 1/4 1))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 (pow.f64 im 4) 1/4 -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2) 1/2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))

eval35.0ms (0.7%)

Compiler

Compiled 1538 to 1150 computations (25.2% saved)

prune43.0ms (0.9%)

Pruning

20 alts after pruning (11 fresh and 9 done)

PrunedKeptTotal
New94296
Fresh099
Picked055
Done044
Total9420114
Accuracy
100.0%
Counts
114 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
14.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
44.1%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
75.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.7%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
42.6%
(*.f64 1/2 (fma.f64 im im 2))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.7%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
7.8%
(*.f64 1/2 4)
8.6%
(*.f64 1/2 3/2)
6.9%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
3.5%
(*.f64 1/2 -4)
49.1%
(cos.f64 re)
24.6%
1
7.7%
1/4
27.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
14.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
44.1%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
75.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.7%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
42.6%
(*.f64 1/2 (fma.f64 im im 2))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.7%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))))
7.8%
(*.f64 1/2 4)
8.6%
(*.f64 1/2 3/2)
6.9%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
3.5%
(*.f64 1/2 -4)
49.1%
(cos.f64 re)
24.6%
1
7.7%
1/4
Compiler

Compiled 516 to 450 computations (12.8% saved)

localize177.0ms (3.6%)

Localize:

Found 6 expressions with local error:

NewAccuracyProgram
100.0%
(cos.f64 re)
99.9%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
100.0%
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
100.0%
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
99.9%
(*.f64 1/12 (pow.f64 im 4))
99.6%
(*.f64 1/360 (pow.f64 im 6))
Compiler

Compiled 139 to 110 computations (20.9% saved)

series6.0ms (0.1%)

Counts
5 → 33
Calls

18 calls:

TimeVariablePointExpression
1.0ms
im
@0
(*.f64 1/360 (pow.f64 im 6))
1.0ms
re
@inf
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
0.0ms
im
@0
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
0.0ms
re
@-inf
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
0.0ms
im
@inf
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))

rewrite105.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1378×fma-def
824×log1p-expm1-u
824×expm1-log1p-u
444×expm1-udef
444×log1p-udef
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024132
1289132
23799132
Stop Event
node limit
Counts
5 → 165
Calls
Call 1
Inputs
(*.f64 1/360 (pow.f64 im 6))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6)))) 1)
(pow.f64 (*.f64 1/360 (pow.f64 im 6)) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000) 1/3)
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 im 6)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/360 (pow.f64 im 6)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6))))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 im 6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) 1/1728) 1/3)
(pow.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 im 12) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/129600) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (/.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(*.f64 1 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (/.f64 1 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (/.f64 1 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (+.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (*.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))) (neg.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))) (neg.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 3) (pow.f64 im 6)) (fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (*.f64 (pow.f64 im 12) 1/129600)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))))
(/.f64 (-.f64 (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 4)) (-.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))
(pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3) 1/3)
(pow.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(log.f64 (exp.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(exp.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 6)) 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 2) 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1 (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1 (pow.f64 im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 1 (pow.f64 im 2))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (*.f64 1/360 (pow.f64 im 4)) (pow.f64 im 2) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 3)) (pow.f64 im 3) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (/.f64 (pow.f64 im 4) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))) (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))) (neg.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (-.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3) 1/3)
(pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (pow.f64 im 2))
(fma.f64 (pow.f64 im 2) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (pow.f64 im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (pow.f64 im 2))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (pow.f64 im 2))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) im) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))

simplify97.0ms (2%)

Algorithm
egg-herbie
Rules
1650×unswap-sqr
1332×times-frac
666×fma-neg
484×log-prod
366×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03728969
18488907
229268781
Stop Event
node limit
Counts
198 → 213
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/360 (pow.f64 im 6))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/360 (pow.f64 im 6))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))
(pow.f64 im 2)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6)))) 1)
(pow.f64 (*.f64 1/360 (pow.f64 im 6)) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000) 1/3)
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 im 6)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/360 (pow.f64 im 6)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6))))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 im 6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) 1/1728) 1/3)
(pow.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 im 12) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/129600) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (/.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(*.f64 1 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (/.f64 1 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (/.f64 1 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (+.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (*.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))) (neg.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))) (neg.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 3) (pow.f64 im 6)) (fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (*.f64 (pow.f64 im 12) 1/129600)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))))
(/.f64 (-.f64 (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 4)) (-.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))
(pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3) 1/3)
(pow.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(log.f64 (exp.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(exp.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 6)) 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 im 2) 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1 (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1 (pow.f64 im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 1 (pow.f64 im 2))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (*.f64 1/360 (pow.f64 im 4)) (pow.f64 im 2) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 3)) (pow.f64 im 3) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (/.f64 (pow.f64 im 4) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))) (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))) (neg.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (-.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3) 1/3)
(pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (pow.f64 im 2))
(fma.f64 (pow.f64 im 2) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (pow.f64 im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (pow.f64 im 2))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (pow.f64 im 2))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) im) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
Outputs
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(*.f64 1/360 (pow.f64 im 6))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))
(*.f64 1/360 (pow.f64 im 6))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))
(pow.f64 im 2)
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6)))) 1)
(*.f64 1/360 (pow.f64 im 6))
(pow.f64 (*.f64 1/360 (pow.f64 im 6)) 1)
(*.f64 1/360 (pow.f64 im 6))
(pow.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) 3)
(*.f64 1/360 (pow.f64 im 6))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000))
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) 2)
(*.f64 1/360 (pow.f64 im 6))
(sqrt.f64 (*.f64 (pow.f64 im 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 im 6)))
(*.f64 1/360 (pow.f64 im 6))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/360 (pow.f64 im 6)))))
(*.f64 1/360 (pow.f64 im 6))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 im 6))))
(*.f64 1/360 (pow.f64 im 6))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))))
(*.f64 1/360 (pow.f64 im 6))
(exp.f64 (*.f64 (log.f64 (*.f64 1/360 (pow.f64 im 6))) 1))
(*.f64 1/360 (pow.f64 im 6))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 im 6))))
(*.f64 1/360 (pow.f64 im 6))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 im 12) 1/1728) 1/3)
(cbrt.f64 (*.f64 (pow.f64 im 12) 1/1728))
(pow.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (*.f64 (pow.f64 im 12) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 im) (log.f64 1/12)) 1))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))) 1)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 12) 1/129600) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (/.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(*.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 1 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2)))
(*.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (/.f64 1 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) 1) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 -1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/360)) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 (pow.f64 im 12) 1/129600)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (/.f64 1 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) 1) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 -1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/360)) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) 1) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 -1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/360)) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (+.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (*.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (-.f64 (+.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (*.f64 (pow.f64 im 12) 1/129600)) (*.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (+.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (fma.f64 (pow.f64 im 12) 1/129600 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/360)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))) (neg.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) 1) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 -1/360 (pow.f64 im 6))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/360)) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/46656000 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 (pow.f64 im 12) 1/129600)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))) (neg.f64 (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 3) (pow.f64 im 6)) (fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 im 6) (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 3)) (fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 (pow.f64 im 6) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2) (*.f64 (pow.f64 im 12) 1/129600)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/129600) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (-.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (fma.f64 (pow.f64 im 12) -1/129600 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2)) (fma.f64 (pow.f64 im 6) -1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 4)) (-.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))
(/.f64 (fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (neg.f64 (pow.f64 im 4))) (-.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2)))
(/.f64 (-.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))) (pow.f64 im 4)) (-.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))) (pow.f64 im 2)))
(pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 3)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(pow.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3) 1/3)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(pow.f64 (hypot.f64 im (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) 2)
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(sqrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(log.f64 (exp.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(exp.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 6)) 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 2) 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1 (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (pow.f64 im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 1/360)) (cbrt.f64 (*.f64 (pow.f64 im 12) 1/129600)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 im 3) (sqrt.f64 1/360)) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (*.f64 1/360 (pow.f64 im 6)))
(+.f64 (pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2) (*.f64 1/360 (pow.f64 im 6)))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2))
(fma.f64 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 1/360) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))) (*.f64 1/360 (pow.f64 im 6)))
(fma.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))) (*.f64 1/360 (pow.f64 im 6)))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12)))))
(fma.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (*.f64 1/360 (pow.f64 im 6)))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (*.f64 1/360 (pow.f64 im 6)) (/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2))))
(fma.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))) 1 (pow.f64 im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))) (cbrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (sqrt.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 im 2))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 4)) (pow.f64 im 2) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/360 (pow.f64 im 3)) (pow.f64 im 3) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/360 (pow.f64 im 6))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))) 1)
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (/.f64 (pow.f64 im 4) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(*.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))))
(pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2)
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (/.f64 1 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))) (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12))))
(/.f64 1 (/.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6)))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (pow.f64 im 6)))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6))) (neg.f64 (fma.f64 (pow.f64 im 8) 1/144 (-.f64 (pow.f64 im 4) (*.f64 1/12 (pow.f64 im 6))))))
(*.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (/.f64 1 (fma.f64 (pow.f64 im 8) 1/144 (+.f64 (pow.f64 im 4) (*.f64 -1/12 (pow.f64 im 6))))))
(/.f64 (fma.f64 (pow.f64 im 12) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (pow.f64 im 6) -1/12))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4))) (neg.f64 (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (-.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (pow.f64 im 2)))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 1)
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 3)
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3) 1/3)
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(pow.f64 (hypot.f64 im (*.f64 (pow.f64 im 2) (sqrt.f64 1/12))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)) 3))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))) 1))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (pow.f64 im 4)) 1 (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (pow.f64 im 2) 1 (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/12) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 1 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (pow.f64 im 2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (*.f64 (pow.f64 im 2) (sqrt.f64 1/12)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (pow.f64 im 2)) (pow.f64 im 2) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 3)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3) 1/3)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) im) 2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(fabs.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 1))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))

eval199.0ms (4%)

Compiler

Compiled 5534 to 4517 computations (18.4% saved)

prune62.0ms (1.3%)

Pruning

22 alts after pruning (9 fresh and 13 done)

PrunedKeptTotal
New2354239
Fresh156
Picked145
Done099
Total23722259
Accuracy
100.0%
Counts
259 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
14.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
21.0%
(*.f64 (pow.f64 im 2) 1/2)
75.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
24.7%
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
99.9%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.7%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
42.6%
(*.f64 1/2 (fma.f64 im im 2))
60.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.7%
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
56.4%
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
7.8%
(*.f64 1/2 4)
8.6%
(*.f64 1/2 3/2)
6.9%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
3.5%
(*.f64 1/2 -4)
49.1%
(cos.f64 re)
24.6%
1
7.7%
1/4
Compiler

Compiled 403 to 323 computations (19.9% saved)

regimes77.0ms (1.6%)

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

6 calls:

16.0ms
im
15.0ms
re
13.0ms
(*.f64 1/2 (cos.f64 re))
13.0ms
(cos.f64 re)
8.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (cos.f64 re))
100.0%1(cos.f64 re)
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 256 to 192 computations (25% saved)

regimes115.0ms (2.3%)

Counts
23 → 3
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

4 calls:

34.0ms
im
34.0ms
re
21.0ms
(*.f64 1/2 (cos.f64 re))
20.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
89.0%2re
93.5%3im
88.7%2(*.f64 1/2 (cos.f64 re))
88.7%2(cos.f64 re)
Compiler

Compiled 152 to 120 computations (21.1% saved)

regimes40.0ms (0.8%)

Counts
19 → 3
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

1 calls:

35.0ms
im
Results
AccuracySegmentsBranch
93.1%3im
Compiler

Compiled 91 to 72 computations (20.9% saved)

regimes92.0ms (1.9%)

Counts
18 → 2
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

3 calls:

44.0ms
re
24.0ms
(cos.f64 re)
20.0ms
im
Results
AccuracySegmentsBranch
76.0%2(cos.f64 re)
74.5%4re
84.9%2im
Compiler

Compiled 90 to 72 computations (20% saved)

regimes23.0ms (0.5%)

Counts
17 → 2
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6))))
Calls

1 calls:

20.0ms
im
Results
AccuracySegmentsBranch
80.6%2im
Compiler

Compiled 75 to 61 computations (18.7% saved)

regimes75.0ms (1.5%)

Counts
14 → 3
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
Outputs
(cos.f64 re)
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(*.f64 1/2 (fma.f64 im im 2))
Calls

3 calls:

32.0ms
re
25.0ms
im
15.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
61.0%4re
59.3%2(cos.f64 re)
70.0%3im
Compiler

Compiled 62 to 53 computations (14.5% saved)

regimes19.0ms (0.4%)

Counts
12 → 2
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (fma.f64 im im 2))
Outputs
(cos.f64 re)
(*.f64 1/2 (fma.f64 im im 2))
Calls

1 calls:

17.0ms
im
Results
AccuracySegmentsBranch
66.7%2im
Compiler

Compiled 41 to 36 computations (12.2% saved)

regimes17.0ms (0.3%)

Counts
11 → 2
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
Outputs
(cos.f64 re)
(*.f64 (pow.f64 im 2) 1/2)
Calls

1 calls:

15.0ms
im
Results
AccuracySegmentsBranch
66.7%2im
Compiler

Compiled 35 to 32 computations (8.6% saved)

regimes24.0ms (0.5%)

Counts
10 → 1
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
(cos.f64 re)
Outputs
(cos.f64 re)
Calls

3 calls:

8.0ms
im
8.0ms
re
6.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
49.1%1re
49.1%1(cos.f64 re)
49.1%1im
Compiler

Compiled 37 to 33 computations (10.8% saved)

regimes16.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
1/4
1
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 3/2)
(*.f64 1/2 4)
Outputs
1
Calls

2 calls:

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

Compiled 31 to 29 computations (6.5% saved)

regimes6.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
1/4
Outputs
1/4
Calls

2 calls:

3.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
7.7%1im
7.7%1re
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch32.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
1.3023143612439133e+153
7.902776642097734e+158
7.0ms
0.008052500334081452
0.009831284306809717
Results
22.0ms144×body256infinite
6.0ms32×body256valid
Compiler

Compiled 264 to 216 computations (18.2% saved)

bsearch30.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
1.3023143612439133e+153
7.902776642097734e+158
5.0ms
0.008052500334081452
0.009831284306809717
Results
22.0ms144×body256infinite
5.0ms32×body256valid
Compiler

Compiled 248 to 202 computations (18.5% saved)

bsearch7.0ms (0.1%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
7.0ms
0.008052500334081452
0.009831284306809717
Results
6.0ms32×body256valid
Compiler

Compiled 50 to 40 computations (20% saved)

bsearch21.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
1.2973414828168912e+29
1.2881901438134301e+33
Results
19.0ms128×body256infinite
Compiler

Compiled 154 to 134 computations (13% saved)

bsearch47.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
1.6154876689671563e+142
1.1635402567018908e+147
24.0ms
35465051773824905000.0
1.1541944467663193e+26
Results
43.0ms288×body256infinite
Compiler

Compiled 324 to 275 computations (15.1% saved)

bsearch6.0ms (0.1%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
6.0ms
0.008052500334081452
0.009831284306809717
Results
5.0ms32×body256valid
Compiler

Compiled 46 to 36 computations (21.7% saved)

bsearch15.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
4.2358760268767246e+83
3.6170943882872082e+84
Results
13.0ms96×body256infinite
Compiler

Compiled 96 to 80 computations (16.7% saved)

simplify12.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
067516
186516
288516
389516
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5476377146882523/576460752303423488) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 1224979098644775/144115188075855872) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5188146770730811/576460752303423488) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 470000000000000023419522509701120) (cos.f64 re) (*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6)))))
(if (<=.f64 im 41000000000000000000) (cos.f64 re) (if (<=.f64 im 1049999999999999981609740005945928444366369196984433430652808935356615313980378154093128575163987098836213172213351214107845412556453775824388096) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 5476377146882523/576460752303423488) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(if (<=.f64 im 599999999999999991524051271428514349995136137026229404439394041875911430644378370048) (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(cos.f64 re)
1
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5476377146882523/576460752303423488) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5476377146882523/576460752303423488) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 1224979098644775/144115188075855872) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 1224979098644775/144115188075855872) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5188146770730811/576460752303423488) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 5188146770730811/576460752303423488) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 470000000000000023419522509701120) (cos.f64 re) (*.f64 1/2 (+.f64 2 (*.f64 1/360 (pow.f64 im 6)))))
(if (<=.f64 im 41000000000000000000) (cos.f64 re) (if (<=.f64 im 1049999999999999981609740005945928444366369196984433430652808935356615313980378154093128575163987098836213172213351214107845412556453775824388096) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 41000000000000000000) (cos.f64 re) (if (<=.f64 im 1049999999999999981609740005945928444366369196984433430652808935356615313980378154093128575163987098836213172213351214107845412556453775824388096) (+.f64 1/4 (*.f64 1/4 (pow.f64 re 2))) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 5476377146882523/576460752303423488) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(if (<=.f64 im 599999999999999991524051271428514349995136137026229404439394041875911430644378370048) (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(if (<=.f64 im 599999999999999991524051271428514349995136137026229404439394041875911430644378370048) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1
1/4
Compiler

Compiled 172 to 131 computations (23.8% saved)

soundness525.0ms (10.6%)

Rules
1650×unswap-sqr
1464×fma-def
1464×fma-def
1464×fma-def
1380×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01677
120277
2326777
01677
120277
2326777
01773431
14213168
211453017
345673008
01322426
13072354
29012246
359712246
03728969
18488907
229268781
01773431
14213168
211453017
345673008
01773431
14213168
211453017
345673008
Stop Event
node limit
node limit
node limit
node limit
node limit
unsound
unsound
Compiler

Compiled 117 to 87 computations (25.6% saved)

end0.0ms (0%)

preprocess172.0ms (3.5%)

Remove

(abs im)

(abs re)

Compiler

Compiled 590 to 402 computations (31.9% saved)

Profiling

Loading profile data...