math.cos on complex, real part

Time bar (total: 6.1s)

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)

sample2.2s (35.8%)

Results
544.0ms1061×body1024valid
535.0ms2615×body256infinite
342.0ms1009×body1024infinite
341.0ms2536×body256valid
197.0ms535×body512infinite
196.0ms497×body512valid
6.0msbody2048valid
Bogosity

preprocess285.0ms (4.7%)

Algorithm
egg-herbie
Rules
1664×fma-def
892×associate-/r/
792×sqr-pow
752×associate-/l/
674×fabs-mul
Problems
256×No Errors
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030220
184220
2185220
3346210
4676210
51904210
63504210
73909210
85001210
95865210
107301210
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))))
(*.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))))
(*.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)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

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)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite74.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01669
120269
2326669
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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2

simplify60.0ms (1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01081657
13081494
29321494
344581494
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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
(*.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 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.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 (*.f64 -1/4 (pow.f64 re 2)) 1/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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.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)

eval16.0ms (0.3%)

Compiler

Compiled 841 to 478 computations (43.2% saved)

prune23.0ms (0.4%)

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.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
74.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.5%
(+.f64 (cos.f64 re) (cos.f64 re))
74.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)))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
7.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
74.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.5%
(+.f64 (cos.f64 re) (cos.f64 re))
74.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)))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
48.8%
(cos.f64 re)
Compiler

Compiled 238 to 176 computations (26.1% saved)

localize152.0ms (2.5%)

Localize:

Found 5 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)
100.0%
(pow.f64 im 2)
100.0%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
99.9%
(*.f64 (pow.f64 im 2) (cos.f64 re))
Compiler

Compiled 85 to 37 computations (56.5% saved)

series8.0ms (0.1%)

Counts
5 → 28
Calls

21 calls:

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

rewrite27.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
228×associate-*r*
138×associate-*l*
120×cbrt-prod
119×log1p-expm1-u
119×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021115
1270115
23982115
Stop Event
unsound
Counts
5 → 65
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 im 2)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

simplify123.0ms (2%)

Algorithm
egg-herbie
Rules
1530×fma-neg
1470×times-frac
802×*-commutative
722×fma-def
648×distribute-rgt-out
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0791031
11891026
2502951
31818911
43440902
53805902
64523902
76563902
Stop Event
node limit
Counts
93 → 72
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/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
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))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2))
(*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 -1/2 (pow.f64 re 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 im im (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) (+.f64 -1/2 (*.f64 (pow.f64 re 2) 1/24)))))
(*.f64 (pow.f64 im 2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 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))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 (pow.f64 re 2) (+.f64 -1/2 (*.f64 (pow.f64 re 2) 1/24))))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 -1/2 (*.f64 (pow.f64 re 2) 1/24))) (+.f64 1 (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (pow.f64 im 2) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 (pow.f64 re 2) (+.f64 -1/2 (*.f64 (pow.f64 re 2) 1/24))))))
(*.f64 (pow.f64 im 2) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) -1/4)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) 1/2))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (pow.f64 re 4) 1/48)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 2) -1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) -1/1440 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) 1/2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (+.f64 (*.f64 (pow.f64 re 4) 1/48) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (*.f64 (pow.f64 re 6) -1/1440)))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4)))
(+.f64 (fma.f64 (pow.f64 re 2) 1/4 1/4) (*.f64 (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 (fma.f64 (pow.f64 re 6) 17/180 (*.f64 (pow.f64 re 4) 1/6)) (fma.f64 (pow.f64 re 2) 1/4 1/4))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

eval28.0ms (0.5%)

Compiler

Compiled 1199 to 909 computations (24.2% saved)

prune24.0ms (0.4%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New66672
Fresh011
Picked325
Done011
Total691079
Accuracy
100.0%
Counts
79 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.7%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
3.3%
(+.f64 (cos.f64 re) (*.f64 1/2 -4))
15.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
74.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)))
48.4%
(*.f64 1/2 (fma.f64 im im 2))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
29.3%
(*.f64 1/2 2)
48.8%
(cos.f64 re)
7.7%
1/4
67.7%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
3.3%
(+.f64 (cos.f64 re) (*.f64 1/2 -4))
15.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
74.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)))
48.4%
(*.f64 1/2 (fma.f64 im im 2))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
29.3%
(*.f64 1/2 2)
48.8%
(cos.f64 re)
7.7%
1/4
Compiler

Compiled 264 to 216 computations (18.2% saved)

localize192.0ms (3.2%)

Localize:

Found 3 expressions with local error:

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

Compiled 76 to 51 computations (32.9% saved)

series4.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite82.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
992×log-prod
907×log1p-expm1-u
907×expm1-log1p-u
430×pow-exp
340×expm1-udef
Iterations

Useful iterations: 0 (0.0ms)

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

simplify97.0ms (1.6%)

Algorithm
egg-herbie
Rules
1618×fma-def
1168×distribute-lft-in
1154×distribute-rgt-in
1052×unswap-sqr
482×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02603978
16283778
219553352
Stop Event
node limit
Counts
135 → 135
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
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -2))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 2)) (/.f64 4 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(*.f64 (+.f64 (cos.f64 re) -2) (log.f64 (exp.f64 1)))
(*.f64 1 (+.f64 (cos.f64 re) -2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)) -1)
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)) -1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(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 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 re) -2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2))) 2))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(fma.f64 (cos.f64 re) 1 -2)
(fma.f64 1 (cos.f64 re) -2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(+.f64 0 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4))) 1)
(pow.f64 (*.f64 (pow.f64 re 2) 1/4) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re 2) 1/4))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 re)) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4)))
Outputs
(*.f64 1/2 (+.f64 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 (fma.f64 im im 2) (pow.f64 re 2)) (*.f64 1/2 (fma.f64 im 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 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 1/2 (fma.f64 im 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 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (fma.f64 im im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 1/2 (fma.f64 im 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 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(fma.f64 -1/2 (pow.f64 re 2) -1)
(fma.f64 (pow.f64 re 2) -1/2 -1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24)) -1)
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 -1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 2) -1/2 -1))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24))) -1)
(+.f64 -1 (fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720))))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 -1)))
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1/3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(fma.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -2))) 1)
(+.f64 (cos.f64 re) -2)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 2)) (/.f64 4 (+.f64 (cos.f64 re) 2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (cos.f64 re) -2) (log.f64 (exp.f64 1)))
(+.f64 (cos.f64 re) -2)
(*.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -2)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(+.f64 (cos.f64 re) -2)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) 2))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(+.f64 (cos.f64 re) -2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)) -1)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(+.f64 (cos.f64 re) -2)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(+.f64 (cos.f64 re) -2)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(+.f64 (cos.f64 re) -2)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1) 1))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2))) 3))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 re) -2))) 1/3))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2))) 2))
(+.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(fma.f64 (cos.f64 re) 1 -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 1 (cos.f64 re) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(+.f64 0 (*.f64 (pow.f64 re 2) 1/4))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(*.f64 (pow.f64 re 2) 1/4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4))) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 (pow.f64 re 2) 1/4) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) 3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3) 1/3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 (pow.f64 re 2) 1/4)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))
(*.f64 (pow.f64 re 2) 1/4)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4))))
(*.f64 (pow.f64 re 2) 1/4)
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3))
(*.f64 (pow.f64 re 2) 1/4)
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1) 1))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4))) 3))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re 2) 1/4))) 1/3))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 re)) 2))
(*.f64 (pow.f64 re 2) 1/4)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)

eval142.0ms (2.3%)

Compiler

Compiled 1704 to 1254 computations (26.4% saved)

prune35.0ms (0.6%)

Pruning

13 alts after pruning (7 fresh and 6 done)

PrunedKeptTotal
New1305135
Fresh022
Picked235
Done033
Total13213145
Accuracy
100.0%
Counts
145 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
3.3%
(-.f64 (cos.f64 re) 2)
67.7%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
15.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
49.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.4%
(*.f64 1/2 (fma.f64 im im 2))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
29.3%
(*.f64 1/2 2)
48.8%
(cos.f64 re)
7.7%
1/4
4.0%
-1
5.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
3.3%
(-.f64 (cos.f64 re) 2)
67.7%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
15.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
49.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.2%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.4%
(*.f64 1/2 (fma.f64 im im 2))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
29.3%
(*.f64 1/2 2)
48.8%
(cos.f64 re)
7.7%
1/4
4.0%
-1
Compiler

Compiled 306 to 252 computations (17.6% saved)

localize269.0ms (4.4%)

Localize:

Found 9 expressions with local error:

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

Compiled 109 to 72 computations (33.9% saved)

series8.0ms (0.1%)

Counts
9 → 88
Calls

36 calls:

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

rewrite182.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
1048×log1p-expm1-u
592×expm1-udef
592×log1p-udef
443×expm1-log1p-u
320×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

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

simplify123.0ms (2%)

Algorithm
egg-herbie
Rules
816×cancel-sign-sub-inv
772×log-prod
662×fma-neg
636×times-frac
580×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

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

eval163.0ms (2.7%)

Compiler

Compiled 3800 to 2787 computations (26.7% saved)

prune100.0ms (1.6%)

Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New2584262
Fresh022
Picked325
Done156
Total26213275
Accuracy
100.0%
Counts
275 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
11.6%
(-.f64 (log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
3.3%
(-.f64 (cos.f64 re) 2)
67.7%
(+.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2))
15.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
10.6%
(*.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)))
29.2%
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
48.4%
(*.f64 1/2 (fma.f64 im im 2))
70.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
29.3%
(*.f64 1/2 2)
48.8%
(cos.f64 re)
7.7%
1/4
4.0%
-1
Compiler

Compiled 252 to 179 computations (29% saved)

regimes56.0ms (0.9%)

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

11.0ms
re
11.0ms
im
9.0ms
(cos.f64 re)
9.0ms
(*.f64 1/2 (cos.f64 re))
6.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 189 to 125 computations (33.9% saved)

regimes129.0ms (2.1%)

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

4 calls:

39.0ms
re
30.0ms
(cos.f64 re)
28.0ms
im
27.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
89.4%4re
96.1%3im
90.4%2(*.f64 1/2 (cos.f64 re))
90.4%2(cos.f64 re)
Compiler

Compiled 146 to 99 computations (32.2% saved)

regimes80.0ms (1.3%)

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

4 calls:

22.0ms
im
21.0ms
re
17.0ms
(*.f64 1/2 (cos.f64 re))
17.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
69.6%3re
70.0%3(*.f64 1/2 (cos.f64 re))
70.0%3(cos.f64 re)
79.6%3im
Compiler

Compiled 82 to 54 computations (34.1% saved)

regimes22.0ms (0.4%)

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

1 calls:

20.0ms
im
Results
AccuracySegmentsBranch
79.5%3im
Compiler

Compiled 50 to 36 computations (28% saved)

regimes19.0ms (0.3%)

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

1 calls:

17.0ms
im
Results
AccuracySegmentsBranch
72.8%3im
Compiler

Compiled 42 to 32 computations (23.8% saved)

regimes35.0ms (0.6%)

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

3 calls:

15.0ms
re
10.0ms
im
8.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
61.8%2re
62.5%2(cos.f64 re)
67.7%2im
Compiler

Compiled 35 to 25 computations (28.6% saved)

regimes15.0ms (0.2%)

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

3 calls:

5.0ms
im
4.0ms
re
4.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
48.8%1re
48.8%1(cos.f64 re)
48.8%1im
Compiler

Compiled 23 to 17 computations (26.1% saved)

regimes9.0ms (0.1%)

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

2 calls:

4.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
29.3%1im
29.3%1re
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes8.0ms (0.1%)

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

2 calls:

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

Compiled 10 to 8 computations (20% saved)

regimes7.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch55.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
2.0459602874593283e+152
2.703528935843975e+155
30.0ms
2.5470582584294235e-8
5.9330792622401445e-5
Results
13.0ms34×body1024valid
11.0ms79×body256valid
11.0ms81×body256infinite
9.0ms31×body1024infinite
4.0ms15×body512valid
4.0ms16×body512infinite
Compiler

Compiled 370 to 286 computations (22.7% saved)

bsearch46.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
6.4801245432031926e+106
1.899325536315174e+107
30.0ms
56.14642893980096
111339.61665186608
Results
10.0ms27×body1024valid
10.0ms73×body256valid
8.0ms27×body1024infinite
8.0ms62×body256infinite
5.0ms12×body512valid
2.0msbody512infinite
Compiler

Compiled 291 to 235 computations (19.2% saved)

bsearch46.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
6.4801245432031926e+106
1.899325536315174e+107
30.0ms
10165404938623.875
5441304337904187.0
Results
20.0ms126×body256infinite
17.0ms53×body1024infinite
6.0ms29×body512infinite
Compiler

Compiled 243 to 203 computations (16.5% saved)

bsearch44.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
6.4801245432031926e+106
1.899325536315174e+107
26.0ms
10165404938623.875
5441304337904187.0
Results
18.0ms128×body256infinite
16.0ms53×body1024infinite
6.0ms27×body512infinite
Compiler

Compiled 233 to 198 computations (15% saved)

bsearch57.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
57.0ms
2.5470582584294235e-8
5.9330792622401445e-5
Results
14.0ms38×body1024valid
11.0ms80×body256valid
2.0ms10×body512valid
Compiler

Compiled 130 to 102 computations (21.5% saved)

simplify36.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
060486
174486
276486
377486
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 534955578137577/9223372036854775808) (+.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 360) (+.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 23000000000000) (cos.f64 re) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 10200000000000) (cos.f64 re) (if (<=.f64 im 160000000000000014565759848058949601673672639228077849144727317997454446325621346434466881560665795049029632) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 8264141345021879/147573952589676412928) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cos.f64 re)
(*.f64 1/2 2)
1/4
-1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 534955578137577/9223372036854775808) (+.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 534955578137577/9223372036854775808) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))))
(if (<=.f64 im 360) (+.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 360) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 1/4 (pow.f64 re 2))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))))
(if (<=.f64 im 23000000000000) (cos.f64 re) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 23000000000000) (cos.f64 re) (if (<=.f64 im 184999999999999989341674143802598312311167195580859838878767646944417319976103615530704784999474292049575936) (+.f64 1/4 (*.f64 1/4 (pow.f64 re 2))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))))
(if (<=.f64 im 10200000000000) (cos.f64 re) (if (<=.f64 im 160000000000000014565759848058949601673672639228077849144727317997454446325621346434466881560665795049029632) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 10200000000000) (cos.f64 re) (if (<=.f64 im 160000000000000014565759848058949601673672639228077849144727317997454446325621346434466881560665795049029632) (+.f64 1/4 (*.f64 1/4 (pow.f64 re 2))) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 8264141345021879/147573952589676412928) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cos.f64 re)
(*.f64 1/2 2)
1
1/4
-1
Compiler

Compiled 159 to 114 computations (28.3% saved)

soundness837.0ms (13.8%)

Rules
1618×fma-def
1530×fma-neg
1530×fma-neg
1530×fma-neg
1470×times-frac
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021115
1270115
23982115
01669
120269
2326669
0791031
11891026
2502951
31818911
43440902
53805902
64523902
76563902
0791031
11891026
2502951
31818911
43440902
53805902
64523902
76563902
01081657
13081494
29321494
344581494
02603978
16283778
219553352
026182
1358174
24738174
0791031
11891026
2502951
31818911
43440902
53805902
64523902
76563902
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
unsound
unsound
Compiler

Compiled 115 to 85 computations (26.1% saved)

end0.0ms (0%)

preprocess110.0ms (1.8%)

Remove

(abs im)

(abs re)

Compiler

Compiled 360 to 228 computations (36.7% saved)

Profiling

Loading profile data...