math.cos on complex, real part

Time bar (total: 5.7s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample1.4s (25.1%)

Results
744.0ms4033×body256infinite
685.0ms4222×body256valid
0.0msbody1024valid
Bogosity

preprocess339.0ms (5.9%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2280308
3690298
41413294
54012294
66076294
77976294
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) (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)

eval2.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)

localize66.0ms (1.1%)

Localize:

Found 2 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)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
im
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@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)))
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)))

rewrite183.0ms (3.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01669
120269
2329669
Stop Event
unsound
Counts
2 → 28
Calls
Call 1
Inputs
(*.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 (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 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2

simplify72.0ms (1.2%)

Algorithm
egg-herbie
Rules
1092×fma-neg
910×div-sub
880×cancel-sign-sub-inv
866×fma-def
672×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01081657
13121494
29361494
344461494
Stop Event
node limit
Counts
64 → 61
Calls
Call 1
Inputs
(*.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 (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 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
(*.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.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 -1/4 (pow.f64 re 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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.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 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 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))))
(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 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 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))))
(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 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 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))))
(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 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 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))))
(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 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(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) (+.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/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)))
(*.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))))
(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 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 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))))
(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 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 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))))
(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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
2
(cos.f64 re)
(+.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)))
(+.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))))
(+.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 (cos.f64 re) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cos.f64 re)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fabs.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(log.f64 (pow.f64 1 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(cos.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(cos.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
-2
(cos.f64 re)
0
(cos.f64 re)
1/4
(cos.f64 re)
1/2
(cos.f64 re)
3/2
(cos.f64 re)
2
(cos.f64 re)

eval19.0ms (0.3%)

Compiler

Compiled 841 to 478 computations (43.2% saved)

prune19.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New55661
Fresh000
Picked011
Done000
Total55762
Accuracy
100.0%
Counts
62 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.7%
(cos.f64 re)
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.6%
(+.f64 (cos.f64 re) (cos.f64 re))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.7%
(cos.f64 re)
Compiler

Compiled 238 to 176 computations (26.1% saved)

localize116.0ms (2%)

Localize:

Found 3 expressions with local error:

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

Compiled 74 to 30 computations (59.5% saved)

series8.0ms (0.1%)

Counts
3 → 44
Calls

12 calls:

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

rewrite40.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
224×associate-*r*
140×associate-*l*
118×cbrt-prod
117×log1p-expm1-u
117×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02282
126982
2404082
Stop Event
unsound
Counts
3 → 47
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(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)))
(log.f64 (+.f64 -4 (expm1.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)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8

simplify165.0ms (2.9%)

Algorithm
egg-herbie
Rules
1464×associate-+r+
1200×associate-+l+
1166×distribute-lft-out
778×*-commutative
720×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01031913
12421813
26641697
327061697
457581697
575401697
Stop Event
node limit
Counts
91 → 86
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (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/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))))
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 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(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)))
(log.f64 (+.f64 -4 (expm1.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)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6))) (fma.f64 1/48 (pow.f64 re 4) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (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 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (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 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
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 1/4 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6)))
(fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 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 1/4 (fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6))))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 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)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 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 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.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 (cos.f64 (*.f64 2 re)) 1) -4)
(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)
(log.f64 (+.f64 -4 (expm1.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)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.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 (cos.f64 (*.f64 2 re)) 1) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -4 (expm1.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)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8

eval22.0ms (0.4%)

Compiler

Compiled 828 to 629 computations (24% saved)

prune44.0ms (0.8%)

Pruning

21 alts after pruning (17 fresh and 4 done)

PrunedKeptTotal
New701686
Fresh011
Picked235
Done011
Total722193
Accuracy
100.0%
Counts
93 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.3%
(-.f64 (cos.f64 re) -4)
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
3.3%
(+.f64 (cos.f64 re) -4)
10.4%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
47.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
26.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.8%
(*.f64 1/2 (fma.f64 im im 2))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.4%
(*.f64 1/2 8)
25.2%
(*.f64 1/2 2)
8.5%
(*.f64 1/2 3/2)
8.1%
(*.f64 1/2 1)
6.8%
(*.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)
48.7%
(cos.f64 re)
7.6%
1/4
7.3%
(-.f64 (cos.f64 re) -4)
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
3.3%
(+.f64 (cos.f64 re) -4)
10.4%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
47.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
26.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.8%
(*.f64 1/2 (fma.f64 im im 2))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.4%
(*.f64 1/2 8)
25.2%
(*.f64 1/2 2)
8.5%
(*.f64 1/2 3/2)
8.1%
(*.f64 1/2 1)
6.8%
(*.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)
48.7%
(cos.f64 re)
7.6%
1/4
Compiler

Compiled 526 to 452 computations (14.1% saved)

localize203.0ms (3.5%)

Localize:

Found 3 expressions with local error:

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

Compiled 70 to 51 computations (27.1% saved)

series5.0ms (0.1%)

Counts
3 → 23
Calls

15 calls:

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

rewrite121.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1186×log-prod
880×fma-def
708×log1p-expm1-u
708×expm1-log1p-u
392×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01987
123876
2313872
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(*.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/4 (*.f64 (pow.f64 re 2) 1/4))
Outputs
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (pow.f64 im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(*.f64 1 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 1) (cos.f64 re))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 2))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(fma.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1 (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1/2) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 1/2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)) (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (cos.f64 re)))) (*.f64 im (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))) 1)
(-.f64 (/.f64 1/16 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 1/4 (fma.f64 re re 1))
(*.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(*.f64 1 (fma.f64 1/4 (pow.f64 re 2) 1/4))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2) (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(*.f64 (*.f64 (hypot.f64 1 re) 1/2) (*.f64 (hypot.f64 1 re) 1/2))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(*.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 re re 1) 1/4)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)))
(/.f64 1 (/.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))) (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/16 (*.f64 1/16 (pow.f64 re 2)))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)) (neg.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (neg.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/16) (fma.f64 1/4 (pow.f64 re 2) -1/4))
(pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 3)
(pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3) 1/3)
(pow.f64 (*.f64 (hypot.f64 1 re) 1/2) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 2))
(log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))))
(cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 re (*.f64 re 1/4) 1/4)
(fma.f64 1/4 (pow.f64 re 2) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (*.f64 1/4 (pow.f64 re 2)) 1 1/4)
(fma.f64 1 (*.f64 1/4 (pow.f64 re 2)) 1/4)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (*.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) 1/4)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/4)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) 1/4)
(fma.f64 (*.f64 re 1/2) (*.f64 re 1/2) 1/4)
(fma.f64 (*.f64 1/4 re) re 1/4)
(fma.f64 (*.f64 1/4 (cbrt.f64 (pow.f64 re 4))) (pow.f64 (cbrt.f64 re) 2) 1/4)

simplify90.0ms (1.6%)

Algorithm
egg-herbie
Rules
1830×fma-def
1292×times-frac
1288×unswap-sqr
1070×distribute-lft-in
432×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03255494
17975354
225095212
Stop Event
node limit
Counts
144 → 179
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720))))))
(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)))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(*.f64 1/4 (pow.f64 re 2))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(*.f64 1/4 (pow.f64 re 2))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (pow.f64 im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(*.f64 1 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 1) (cos.f64 re))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 2))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(fma.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1 (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1/2) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 1/2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)) (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (cos.f64 re)))) (*.f64 im (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))) 1)
(-.f64 (/.f64 1/16 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 1/4 (fma.f64 re re 1))
(*.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(*.f64 1 (fma.f64 1/4 (pow.f64 re 2) 1/4))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2) (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(*.f64 (*.f64 (hypot.f64 1 re) 1/2) (*.f64 (hypot.f64 1 re) 1/2))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(*.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 re re 1) 1/4)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)))
(/.f64 1 (/.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))) (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/16 (*.f64 1/16 (pow.f64 re 2)))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)) (neg.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (neg.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/16) (fma.f64 1/4 (pow.f64 re 2) -1/4))
(pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 3)
(pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3) 1/3)
(pow.f64 (*.f64 (hypot.f64 1 re) 1/2) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 2))
(log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))))
(cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 re (*.f64 re 1/4) 1/4)
(fma.f64 1/4 (pow.f64 re 2) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (*.f64 1/4 (pow.f64 re 2)) 1 1/4)
(fma.f64 1 (*.f64 1/4 (pow.f64 re 2)) 1/4)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (*.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) 1/4)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/4)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) 1/4)
(fma.f64 (*.f64 re 1/2) (*.f64 re 1/2) 1/4)
(fma.f64 (*.f64 1/4 re) re 1/4)
(fma.f64 (*.f64 1/4 (cbrt.f64 (pow.f64 re 4))) (pow.f64 (cbrt.f64 re) 2) 1/4)
Outputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (pow.f64 im 2))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/2) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 (*.f64 (pow.f64 im 2) 1/24) (pow.f64 re 4) (pow.f64 im 2)))
(fma.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)) (fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/2) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 (*.f64 (pow.f64 im 2) 1/24) (pow.f64 re 4) (pow.f64 im 2))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/2) (fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/720) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (pow.f64 im 2) 1/2 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2))))
(+.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2))))
(fma.f64 (pow.f64 im 2) 1/2 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(+.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24)))))
(+.f64 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (*.f64 (pow.f64 im 2) 1/2)) (fma.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48)) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (pow.f64 im 2) -1/720))))))
(+.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (fma.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24) (*.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 2) -1/1440 -1/720))))))
(+.f64 1 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (fma.f64 (pow.f64 im 2) 1/2 (fma.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24) (*.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 2) -1/1440 -1/720))))))
(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)))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(fma.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (pow.f64 im 2) 3)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))) 1)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (pow.f64 (cos.f64 re) 2)))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 1) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (pow.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (fma.f64 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 1)) (*.f64 1/4 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (pow.f64 (cos.f64 re) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (-.f64 (/.f64 (cos.f64 re) 1) (*.f64 1/4 (*.f64 (/.f64 (cos.f64 re) 1) (/.f64 (pow.f64 im 4) 1)))) (fma.f64 (pow.f64 im 2) -1/2 1))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 1)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 3)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 2)
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (exp.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1)) 3))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))) 1))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/2 (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1 (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1/2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (*.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 1/2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)) (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (cos.f64 re)))) (*.f64 im (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))) 1)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(-.f64 (/.f64 1/16 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/16) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(*.f64 1/4 (fma.f64 re re 1))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 1 (fma.f64 1/4 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 2) (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(*.f64 (*.f64 (hypot.f64 1 re) 1/2) (*.f64 (hypot.f64 1 re) 1/2))
(pow.f64 (*.f64 1/2 (hypot.f64 1 re)) 2)
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 (pow.f64 re 2) 1/4 -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 2) (*.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 -1/4)) 1/16))
(*.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 1 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(*.f64 (fma.f64 re re 1) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 (pow.f64 re 2) 1/4 -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 2) (*.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 -1/4)) 1/16))
(/.f64 1 (/.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))) (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 (pow.f64 re 2) 1/4 -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 2) (*.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 -1/4)) 1/16))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (-.f64 1/16 (*.f64 1/16 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (+.f64 1/16 (*.f64 -1/16 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (+.f64 1/16 (*.f64 (pow.f64 re 2) -1/16))))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 4) 1/16 (fma.f64 (pow.f64 re 2) -1/16 1/16)))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64)) (neg.f64 (fma.f64 (*.f64 1/4 (pow.f64 re 2)) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/64 1/64) (/.f64 1 (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 1/4 (pow.f64 re 2) -1/4) 1/16)))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (*.f64 (pow.f64 re 2) 1/4) (fma.f64 (pow.f64 re 2) 1/4 -1/4) 1/16))
(/.f64 (fma.f64 (pow.f64 re 6) 1/64 1/64) (fma.f64 (pow.f64 re 2) (*.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 -1/4)) 1/16))
(/.f64 (neg.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16))) (neg.f64 (+.f64 1/4 (*.f64 -1/4 (pow.f64 re 2)))))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) 1/16 -1/16) (fma.f64 1/4 (pow.f64 re 2) -1/4))
(/.f64 (-.f64 1/16 (*.f64 (pow.f64 re 4) 1/16)) (+.f64 1/4 (*.f64 (pow.f64 re 2) -1/4)))
(/.f64 (+.f64 1/16 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/16) (fma.f64 (pow.f64 re 2) -1/4 1/4))
(pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 1)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 3)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3) 1/3)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(pow.f64 (*.f64 (hypot.f64 1 re) 1/2) 2)
(pow.f64 (*.f64 1/2 (hypot.f64 1 re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 2))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4))))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4) 3))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)) 1))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 re 2) 1/4)))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 re (*.f64 re 1/4) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 1/4 (pow.f64 re 2) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (*.f64 1/4 (pow.f64 re 2)) 1 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 1 (*.f64 1/4 (pow.f64 re 2)) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (*.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) 1/4)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 (cbrt.f64 re) 2)) 1/4)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 1/4 (cbrt.f64 (pow.f64 re 4))) 1/4)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/4)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/4)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 1/4 (pow.f64 re 2))) 1/4)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) 1/4)
(fma.f64 (*.f64 re 1/2) (*.f64 re 1/2) 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (*.f64 1/4 re) re 1/4)
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(fma.f64 (*.f64 1/4 (cbrt.f64 (pow.f64 re 4))) (pow.f64 (cbrt.f64 re) 2) 1/4)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 (cbrt.f64 re) 2)) 1/4)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 1/4 (cbrt.f64 (pow.f64 re 4))) 1/4)

eval76.0ms (1.3%)

Compiler

Compiled 3150 to 2254 computations (28.4% saved)

prune52.0ms (0.9%)

Pruning

22 alts after pruning (14 fresh and 8 done)

PrunedKeptTotal
New1772179
Fresh01212
Picked145
Done044
Total17822200
Accuracy
100.0%
Counts
200 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.3%
(-.f64 (cos.f64 re) -4)
66.1%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
3.3%
(+.f64 (cos.f64 re) -4)
47.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
7.1%
(*.f64 (pow.f64 re 2) 1/4)
26.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.8%
(*.f64 1/2 (fma.f64 im im 2))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.4%
(*.f64 1/2 8)
25.2%
(*.f64 1/2 2)
8.5%
(*.f64 1/2 3/2)
8.1%
(*.f64 1/2 1)
6.8%
(*.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)
48.7%
(cos.f64 re)
7.6%
1/4
7.3%
(-.f64 (cos.f64 re) -4)
66.1%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
3.3%
(+.f64 (cos.f64 re) -4)
47.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
7.1%
(*.f64 (pow.f64 re 2) 1/4)
26.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.8%
(*.f64 1/2 (fma.f64 im im 2))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.4%
(*.f64 1/2 8)
25.2%
(*.f64 1/2 2)
8.5%
(*.f64 1/2 3/2)
8.1%
(*.f64 1/2 1)
6.8%
(*.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)
48.7%
(cos.f64 re)
7.6%
1/4
Compiler

Compiled 502 to 428 computations (14.7% saved)

localize132.0ms (2.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.9%
(+.f64 (cos.f64 re) -4)
Compiler

Compiled 56 to 38 computations (32.1% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (cos.f64 re) -4)
0.0ms
re
@-inf
(+.f64 (cos.f64 re) -4)
0.0ms
re
@inf
(+.f64 (cos.f64 re) -4)

rewrite67.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
430×unpow-prod-down
369×log1p-expm1-u
369×expm1-log1p-u
346×add-exp-log
335×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
17914
297014
Stop Event
node limit
Counts
1 → 54
Calls
Call 1
Inputs
(+.f64 (cos.f64 re) -4)
Outputs
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) -4)) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 4)) (/.f64 16 (+.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (cos.f64 re) -4) 1)
(*.f64 (+.f64 (cos.f64 re) -4) (log.f64 (E.f64)))
(*.f64 1 (+.f64 (cos.f64 re) -4))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (/.f64 1 (+.f64 (cos.f64 re) 4)))
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)))
(*.f64 (pow.f64 1 1/3) (+.f64 (cos.f64 re) -4))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 5)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 (cos.f64 re) 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16)) (neg.f64 (+.f64 (cos.f64 re) 4)))
(/.f64 (-.f64 16 (pow.f64 (cos.f64 re) 2)) (-.f64 -4 (cos.f64 re)))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 3) -64))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -16))) (cbrt.f64 (+.f64 (cos.f64 re) 4)))
(pow.f64 (+.f64 (cos.f64 re) -4) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) 2)
(pow.f64 (E.f64) (log.f64 (+.f64 (cos.f64 re) -4)))
(pow.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)) -1)
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4)))) (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -4)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -4)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -4)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 re) -4))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) 2))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -4)))
(fma.f64 (cos.f64 re) 1 -4)
(fma.f64 1 (cos.f64 re) -4)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -4)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -4)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -4)

simplify66.0ms (1.2%)

Algorithm
egg-herbie
Rules
1906×fma-def
1088×times-frac
698×associate-/l*
506×associate-+r+
458×associate-+l+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01662160
13812052
210151863
335061859
Stop Event
node limit
Counts
66 → 82
Calls
Call 1
Inputs
-3
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 3)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 3)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (cos.f64 re) 4)
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) -4)) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 4)) (/.f64 16 (+.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (cos.f64 re) -4) 1)
(*.f64 (+.f64 (cos.f64 re) -4) (log.f64 (E.f64)))
(*.f64 1 (+.f64 (cos.f64 re) -4))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (/.f64 1 (+.f64 (cos.f64 re) 4)))
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)))
(*.f64 (pow.f64 1 1/3) (+.f64 (cos.f64 re) -4))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 5)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 (cos.f64 re) 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16)) (neg.f64 (+.f64 (cos.f64 re) 4)))
(/.f64 (-.f64 16 (pow.f64 (cos.f64 re) 2)) (-.f64 -4 (cos.f64 re)))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 3) -64))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -16))) (cbrt.f64 (+.f64 (cos.f64 re) 4)))
(pow.f64 (+.f64 (cos.f64 re) -4) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) 2)
(pow.f64 (E.f64) (log.f64 (+.f64 (cos.f64 re) -4)))
(pow.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)) -1)
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4)))) (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -4)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -4)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -4)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 re) -4))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) 2))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -4)))
(fma.f64 (cos.f64 re) 1 -4)
(fma.f64 1 (cos.f64 re) -4)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -4)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -4)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -4)
Outputs
-3
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(fma.f64 -1/2 (pow.f64 re 2) -3)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 3)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) -3)
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) -3))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 3)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))) -3)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6)))) -3)
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/720 (pow.f64 re 6) -3)))
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) 4)
(+.f64 (cos.f64 re) -4)
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) -4)) 1)
(+.f64 (cos.f64 re) -4)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 4)) (/.f64 16 (+.f64 (cos.f64 re) 4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(*.f64 (+.f64 (cos.f64 re) -4) 1)
(+.f64 (cos.f64 re) -4)
(*.f64 (+.f64 (cos.f64 re) -4) (log.f64 (E.f64)))
(+.f64 (cos.f64 re) -4)
(*.f64 1 (+.f64 (cos.f64 re) -4))
(+.f64 (cos.f64 re) -4)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2))
(+.f64 (cos.f64 re) -4)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)))
(+.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) (sqrt.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (/.f64 1 (+.f64 (cos.f64 re) 4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)))
(*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/4) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/4) (pow.f64 (+.f64 (cos.f64 re) -4) 1/4))
(*.f64 (pow.f64 1 1/3) (+.f64 (cos.f64 re) -4))
(+.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 8)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 re) -4) (cbrt.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 8)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 5/2)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) (sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/2)))
(*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/4) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3/4) (pow.f64 (+.f64 (cos.f64 re) -4) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 4)) (cbrt.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 5)) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))))
(*.f64 (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 5)))
(*.f64 (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 5/2))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -4))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 (cos.f64 re) 4))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16)) (neg.f64 (+.f64 (cos.f64 re) 4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(/.f64 (-.f64 16 (pow.f64 (cos.f64 re) 2)) (-.f64 -4 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 3) -64))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4)))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (pow.f64 (+.f64 (cos.f64 re) -4) 2))) (cbrt.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (pow.f64 (+.f64 (cos.f64 re) -4) 2))) (cbrt.f64 (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4)))))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (pow.f64 (+.f64 (cos.f64 re) -4) 2))) (cbrt.f64 (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16)))
(/.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -16))) (cbrt.f64 (+.f64 (cos.f64 re) 4)))
(/.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (pow.f64 (+.f64 (cos.f64 re) -4) 2))) (cbrt.f64 (+.f64 4 (cos.f64 re))))
(pow.f64 (+.f64 (cos.f64 re) -4) 1)
(+.f64 (cos.f64 re) -4)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4)) 3)
(+.f64 (cos.f64 re) -4)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2) 1/2)
(+.f64 (cos.f64 re) -4)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3) 1/3)
(+.f64 (cos.f64 re) -4)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4)) 2)
(+.f64 (cos.f64 re) -4)
(pow.f64 (E.f64) (log.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(pow.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 16 (*.f64 (cos.f64 re) -4))) (+.f64 (pow.f64 (cos.f64 re) 3) -64)) -1)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 16) (*.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (+.f64 16 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -4))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -64) (fma.f64 (cos.f64 re) (+.f64 4 (cos.f64 re)) 16))
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (cos.f64 re) 2) -16)) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 16 (+.f64 4 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 4 (cos.f64 re))) (/.f64 -16 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -16) (+.f64 4 (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))) 2)) (cbrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4)))) (sqrt.f64 (log.f64 (+.f64 (cos.f64 re) -4))))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 2))
(+.f64 (cos.f64 re) -4)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -4) 3))
(+.f64 (cos.f64 re) -4)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -4))) 3))
(+.f64 (cos.f64 re) -4)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 re) -4))) 1/3))
(+.f64 (cos.f64 re) -4)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -4))) 2))
(+.f64 (cos.f64 re) -4)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -4)))
(+.f64 (cos.f64 re) -4)
(fma.f64 (cos.f64 re) 1 -4)
(+.f64 (cos.f64 re) -4)
(fma.f64 1 (cos.f64 re) -4)
(+.f64 (cos.f64 re) -4)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -4)
(+.f64 (cos.f64 re) -4)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -4)
(+.f64 (cos.f64 re) -4)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -4)
(+.f64 (cos.f64 re) -4)

eval74.0ms (1.3%)

Compiler

Compiled 1049 to 737 computations (29.7% saved)

prune68.0ms (1.2%)

Pruning

23 alts after pruning (11 fresh and 12 done)

PrunedKeptTotal
New80282
Fresh099
Picked055
Done178
Total8123104
Accuracy
100.0%
Counts
104 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.4%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
7.3%
(-.f64 (cos.f64 re) -4)
66.1%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
3.3%
(+.f64 (cos.f64 re) -4)
47.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
7.1%
(*.f64 (pow.f64 re 2) 1/4)
26.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
42.8%
(*.f64 1/2 (fma.f64 im im 2))
65.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.4%
(*.f64 1/2 8)
25.2%
(*.f64 1/2 2)
8.5%
(*.f64 1/2 3/2)
8.1%
(*.f64 1/2 1)
6.8%
(*.f64 1/2 1/16)
3.6%
(*.f64 1/2 -1/2)
3.8%
(*.f64 1/2 -1)
3.9%
(*.f64 1/2 -2)
48.7%
(cos.f64 re)
7.6%
1/4
3.4%
-3
Compiler

Compiled 311 to 242 computations (22.2% saved)

regimes227.0ms (4%)

Counts
27 → 1
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.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 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

152.0ms
(*.f64 1/2 (cos.f64 re))
19.0ms
(cos.f64 re)
16.0ms
im
15.0ms
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 181 to 129 computations (28.7% saved)

regimes132.0ms (2.3%)

Counts
25 → 3
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.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 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Calls

4 calls:

39.0ms
im
38.0ms
(*.f64 1/2 (cos.f64 re))
27.0ms
re
20.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
86.6%2re
93.4%3im
86.6%2(*.f64 1/2 (cos.f64 re))
86.6%2(cos.f64 re)
Compiler

Compiled 138 to 103 computations (25.4% saved)

regimes83.0ms (1.4%)

Counts
23 → 3
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.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 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Calls

1 calls:

77.0ms
im
Results
AccuracySegmentsBranch
93.3%3im
Compiler

Compiled 104 to 79 computations (24% saved)

regimes39.0ms (0.7%)

Counts
22 → 3
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.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 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Outputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Calls

1 calls:

34.0ms
im
Results
AccuracySegmentsBranch
93.3%3im
Compiler

Compiled 96 to 74 computations (22.9% saved)

regimes28.0ms (0.5%)

Counts
21 → 2
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.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

1 calls:

23.0ms
im
Results
AccuracySegmentsBranch
88.2%2im
Compiler

Compiled 88 to 69 computations (21.6% saved)

regimes85.0ms (1.5%)

Counts
20 → 3
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 3)
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -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
im
31.0ms
re
17.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
62.8%2re
62.9%2(cos.f64 re)
69.3%3im
Compiler

Compiled 87 to 68 computations (21.8% saved)

regimes31.0ms (0.5%)

Counts
16 → 3
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
Outputs
(cos.f64 re)
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (fma.f64 im im 2))
Calls

1 calls:

27.0ms
im
Results
AccuracySegmentsBranch
69.2%3im
Compiler

Compiled 55 to 46 computations (16.4% saved)

regimes38.0ms (0.7%)

Counts
15 → 2
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(*.f64 (pow.f64 re 2) 1/4)
Outputs
(cos.f64 re)
(*.f64 (pow.f64 re 2) 1/4)
Calls

3 calls:

18.0ms
im
10.0ms
re
7.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
48.7%1re
48.7%1(cos.f64 re)
52.7%2im
Compiler

Compiled 56 to 47 computations (16.1% saved)

regimes28.0ms (0.5%)

Counts
14 → 1
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
Outputs
(cos.f64 re)
Calls

3 calls:

10.0ms
im
8.0ms
re
7.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
48.7%1re
48.7%1(cos.f64 re)
48.7%1im
Compiler

Compiled 51 to 43 computations (15.7% saved)

regimes18.0ms (0.3%)

Counts
11 → 1
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
Outputs
(*.f64 1/2 2)
Calls

2 calls:

8.0ms
re
8.0ms
im
Results
AccuracySegmentsBranch
25.2%1re
25.2%1im
Compiler

Compiled 37 to 35 computations (5.4% saved)

regimes15.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
(*.f64 1/2 3/2)
Outputs
(*.f64 1/2 3/2)
Calls

2 calls:

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

Compiled 31 to 29 computations (6.5% saved)

regimes53.0ms (0.9%)

Counts
8 → 1
Calls
Call 1
Inputs
-3
1/4
(*.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 1)
Outputs
(*.f64 1/2 1)
Calls

2 calls:

45.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
8.1%1re
8.1%1im
Compiler

Compiled 28 to 26 computations (7.1% saved)

regimes13.0ms (0.2%)

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

2 calls:

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

Compiled 25 to 23 computations (8% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
-3
Outputs
-3
Calls

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
Steps
TimeLeftRight
3.0ms
2.7376322543004033e+153
6.574296138691106e+156
21.0ms
3.107135112534312e-7
1.4064679894641393e-5
Results
19.0ms112×body256valid
2.0ms16×body256infinite
Compiler

Compiled 201 to 158 computations (21.4% saved)

bsearch41.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
2.7376322543004033e+153
6.574296138691106e+156
20.0ms
3.107135112534312e-7
1.4064679894641393e-5
Results
19.0ms128×body256infinite
18.0ms112×body256valid
Compiler

Compiled 348 to 284 computations (18.4% saved)

bsearch41.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
2.7376322543004033e+153
6.574296138691106e+156
19.0ms
3.107135112534312e-7
1.4064679894641393e-5
Results
20.0ms128×body256infinite
18.0ms112×body256valid
Compiler

Compiled 306 to 249 computations (18.6% saved)

bsearch22.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
22.0ms
3.107135112534312e-7
1.4064679894641393e-5
Results
20.0ms112×body256valid
Compiler

Compiled 130 to 105 computations (19.2% saved)

bsearch22.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
9.293689675222011e+126
9.776012540008198e+126
20.0ms
7.2178316729245655e+25
2.5486073054300888e+29
Results
20.0ms144×body256infinite
Compiler

Compiled 157 to 134 computations (14.6% saved)

bsearch26.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
3.0ms
9.293689675222011e+126
9.776012540008198e+126
23.0ms
7.2178316729245655e+25
2.5486073054300888e+29
Results
24.0ms144×body256infinite
Compiler

Compiled 139 to 116 computations (16.5% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
7.2178316729245655e+25
2.5486073054300888e+29
Results
22.0ms128×body256infinite
Compiler

Compiled 122 to 102 computations (16.4% saved)

simplify19.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068611
187611
289611
390611
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 8264141345021879/590295810358705651712) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 5000000000000000184737728440291132704904589914921344225961389276075271829673609798608256554852704163723255876843616333657168501674786702085523096224137216) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 7673845534663173/590295810358705651712) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 4600000000000000116098334720) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 90000000000000006006243328) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (*.f64 (pow.f64 re 2) 1/4) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 4399999999999999728611753984) (cos.f64 re) (*.f64 (pow.f64 re 2) 1/4))
(cos.f64 re)
(*.f64 1/2 2)
(*.f64 1/2 3/2)
(*.f64 1/2 1)
1/4
-3
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 8264141345021879/590295810358705651712) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 5000000000000000184737728440291132704904589914921344225961389276075271829673609798608256554852704163723255876843616333657168501674786702085523096224137216) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 5000000000000000184737728440291132704904589914921344225961389276075271829673609798608256554852704163723255876843616333657168501674786702085523096224137216) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 7673845534663173/590295810358705651712) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 7673845534663173/590295810358705651712) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 8264141345021879/590295810358705651712) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 4600000000000000116098334720) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 4600000000000000116098334720) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (+.f64 1/4 (*.f64 1/4 (pow.f64 re 2))) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 90000000000000006006243328) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (*.f64 (pow.f64 re 2) 1/4) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 90000000000000006006243328) (cos.f64 re) (if (<=.f64 im 9600000000000000481184313922534280287842905906555007246166034374422598121900590479881390398802572529428575733772669062265962496) (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 4399999999999999728611753984) (cos.f64 re) (*.f64 (pow.f64 re 2) 1/4))
(if (<=.f64 im 4399999999999999728611753984) (cos.f64 re) (*.f64 1/4 (pow.f64 re 2)))
(cos.f64 re)
(*.f64 1/2 2)
1
(*.f64 1/2 3/2)
3/4
(*.f64 1/2 1)
1/2
1/4
-3
Compiler

Compiled 206 to 156 computations (24.3% saved)

soundness946.0ms (16.5%)

Rules
1830×fma-def
1464×associate-+r+
1464×associate-+r+
1464×associate-+r+
1464×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01081657
13121494
29361494
344461494
02282
126982
2404082
01031913
12421813
26641697
327061697
457581697
575401697
01669
120269
2329669
02282
126982
2404082
02282
126982
2404082
01031913
12421813
26641697
327061697
457581697
575401697
03255494
17975354
225095212
01031913
12421813
26641697
327061697
457581697
575401697
01031913
12421813
26641697
327061697
457581697
575401697
Stop Event
node limit
node limit
node limit
node limit
unsound
unsound
unsound
node limit
unsound
node limit
Compiler

Compiled 101 to 77 computations (23.8% saved)

end0.0ms (0%)

preprocess280.0ms (4.9%)

Remove

(abs im)

(abs re)

Compiler

Compiled 802 to 552 computations (31.2% saved)

Profiling

Loading profile data...